Is it possible that an order is accepted by the exchange but a trade does not take place against it?
Is an order always executed for the full quantity?
Is it always executed at one price?
In case of a limit order, it might remain totally unexecuted if there are no matching orders. For example, if you place a sell order for 100 shares @ 100 per share. It might remain totally unexecuted if there are no buy orders for the share for a price of 100 or more.
Further, an order can get executed for any quantity less than or equal to the order quantity. On part execution, the original order is converted into an order for the balance quantity against which another trade can happen.
How to buy /sell/apply for an IPO using Icici direct
Since these are different trades, it is possible that the trades are executed at different price.
In case of market orders placed on NSE, even a market order might remain unexecuted if there are no matching orders.
In such cases, the unexecuted portion of the market order is converted into a limit order at the last traded price for the balance quantity.
For example, when the last traded price of a share was 100, if a market order is placed to sell 100 shares, the sell order will be matched against all limit orders for buying the shares. In case there are no or insufficient orders for buying 100 shares, the unexecuted market order is converted automatically into a limit order to buy sell 100 shares at a price of 100 (the last traded price).
In case the order was partly executed and the last execution took place at 95, the price of the limit order for the balance quantity would be 95.
In case of market orders placed on BSE, all buy market orders go to the Exchange with the price of the best offer and all sell market orders go to the exchange with the price of the best bid offer.
In case at that point of time it is found that that particular bid or offer is no longer present in the exchange this market order gets cancelled by the exchange.
In case of part execution of market order, the remainder order gets converted into a limit order at the last executed price.