Why doesn't my order execute at the price I see on screen?

Because the big price on your screen is the Last Traded Price (LTP) — a record of a trade that has already happened, between two other people, for whatever quantity they wanted. It is not an offer, and nobody is obliged to trade with you at that price.

Your order is matched against the buyers and sellers waiting right now in the order book — each with their own price and their own limited quantity. Those prices are almost never exactly the LTP.

So an order filling a little away from the price you tapped is usually the market working normally, not the app being slow. That said, a genuine delay is possible, and there's a way to tell the two apart — covered below.

Three different reasons, often confused

1. There is always a gap between buying and selling prices. At any moment there's a highest price a buyer will pay and a lowest price a seller will accept, and they're never the same number. The LTP sits somewhere between them. Buy, and you pay the seller's price; sell, and you get the buyer's price — both differ from the LTP before anything else happens. This is the bid-ask spread.

2. Your quantity was larger than what was available at the best price. Each buyer or seller only wants a limited number of shares. If you're selling 100 and the best buyer wants 20, the remaining 80 fill against the next buyers down, at worse prices. Your fill is the blend. This is slippage, and it's why one order can show several different prices — see why was the order executed at different price points.

3. The market genuinely moved. In a fast market, prices change many times a second. The price you saw can be gone by the time your order reaches the exchange — no delay required on anyone's part.

The first two are the usual explanation, and neither is a delay. They just look like one.

How do I check whether it was actually a delay?

Fair question, and worth checking rather than assuming either way.

  • Look at your order and trade details, not the chart. They carry the exact time your order was placed and the exact time and price of each fill. That's the authoritative record.
  • Don't judge it from the chart or the market depth panel. Both are periodic snapshots, not the complete tick-by-tick record — a trade can happen at a price your screen never displayed. See why the order executed without the price hitting it on the chart or market depth.
  • If the timestamps show a gap you can't account for, raise a complaint with the order number — that's a specific, checkable claim.

How do I get a fill closer to the price I want?

  • Use a limit order when the exact price matters more than getting filled instantly. A market order asks for speed and accepts whatever price that takes; a limit order does the opposite. See what are limit and market orders.
  • Keep Market Price Protection on for market orders. It caps how far outside the current price your order can fill, leaving anything it can't fill within that range as a pending limit order.
  • Check the depth before you trade, not after. The market depth panel shows how many shares are actually waiting at each price — see what is market depth and how do I view it. If only a handful sit at the best price, expect the rest of your order to fill further away.
  • Size to the stock. The same order that fills instantly in a heavily traded large-cap can move the price in a thinly traded one — see what is liquidity in the stock market.

Can I see this before I exit a position?

Yes, and this is the most direct answer to "the profit I saw isn't the profit I got."

On the Positions screen, turn on P&L Based On Market Depth. Instead of valuing your positions at the LTP, it works through the real quantities waiting in the order book — the same ones your exit order would fill against — and shows what the position is worth on the way out. If that number is well below the LTP-based one, that gap is what you'd lose to slippage on exit, before you place the order rather than after. See what is P&L based on market depth.

Things to keep in mind

  • The LTP is the last price, not the next one. Treat it as information, not as a price you're entitled to.
  • The gap widens with order size, thin liquidity and fast-moving markets — and all three tend to arrive together.
  • Options can be the worst case. A contract that hasn't traded for several minutes still displays its last price, which may be far from anything currently on offer.
  • A large order can move the price on its own as it fills, so the price you see and the price you cause aren't the same thing.