Zerodha logo

Why was the stop-loss order executed even though the price did not breach the trigger?

Your stop-loss order executed at the exchange's actual market price, even though this price does not appear on your chart. Charts display snapshots of trading activity rather than every individual trade executed at the exchange.

Your execution occurred at a valid market price that briefly existed but was not captured in the chart's data snapshots.

Why don't charts show all execution prices

Exchanges execute thousands of trades every second within microsecond intervals. Charts on Kite use data feeds from exchanges, but these feeds combine many trades into snapshots called "ticks" taken one to four times per second (minimum 250 millisecond intervals).

Your charts display these ticks, not the individual trades happening at the exchange.

Exchange data limitations

Exchanges cannot send complete trade data to brokers. The full Tick-by-Tick (TBT) data feed contains enormous volumes that cannot be efficiently transmitted over internet connections.

Large orders can move prices for microseconds without appearing in exchange snapshots sent to brokers. This issue exists at all the international exchanges as well.

How your orders are executed

Your broker transmits every order immediately to the exchange in real time. The exchange handles all execution centrally with brokers having no control over execution prices.

You can verify any execution using your exchange trade ID through the NSE trade verification module.

Still need help?

Create a ticket

Open tickets

We see that you have the following ticket(s) open:

If you have the same query, check and update the existing ticket here. In case of a new query, click on Continue.

Continue