View all categories

Why was the limit order executed at the market price instead of the specified limit price?

A limit order enables clients to purchase or sell a stock at a specific price or a better price. In simpler terms, when placing a buy limit order, the order will execute at the limit price or a lower price, but not at a higher price. Likewise, a sell limit order will execute at the limit price or a higher price, but not at a lower price.

Example scenario

In the below screenshot, the LTP of SBIN is 185.40; the best bid and offer are at 185.35 and 185.40, respectively.

  • When a limit buy order is placed at 190, and there is a sell offer at 185.40, the stock will be purchased at the lower price of ₹185.40. This means that the stock is acquired for ₹4.60 less than the intended purchase price.
  • Similarly, if a limit sell order is placed at 180 and there is a bid to buy at 185.35, the order will be executed at the higher price of ₹185.35. As a result, the seller receives ₹5.35 more than the asking price.

This is how the exchange matching engine operates, ensuring that trades are executed at the most advantageous prices available.

What if someone wanted to purchase solely at 190 or sell exclusively at 180 in the previous example?

Trigger orders can be used to sell at a specific price. With trigger orders, the actual orders are not directly placed on the exchange matching engine. Instead, a trigger price is set, and if the last traded price reaches or surpasses the trigger price, the actual order is executed.

Zerodha provides two types of trigger orders:

  1. Good till triggered (GTT) orders - validity up to 1 year. To learn more, see What is the Good Till Triggered (GTT) feature?
  2. Stoploss orders that can be used as trigger orders - valid only for the day. To learn more, see What are stop loss orders and how to use them?

Instead of using a limit order, a client could choose a GTT (Good Till Triggered) or SL (Stop-Loss) order to purchase the stock either at a limit of 190 or at the prevailing market price with a trigger of 190. This means that when the stock price hits 190, the trigger condition is satisfied, and the client's order to buy at 190 is executed. Likewise, the client can place a selling limit or market order with a trigger price of 180 to sell the stock.