Why a limit order doesn't always fill at the touch
Posted: Wed Oct 28, 2026 4:06 am
Price touches the level, but the limit order didn't fill. Frustrating, and often explainable.
In a pass-through model, the broker fills a limit order only when an external liquidity provider trades at that price. If price touches the level in the broker's feed without any real trade at that price, the order may stay unfilled.
Queue priority is another factor. On an exchange-like venue, orders at a price level fill in order of arrival. If a lot of orders are ahead, price can touch and bounce before reaching the tail of the queue.
The spread also plays a role. A buy limit fills against the ask, so the bid chart must drop below the limit by a spread for the ask to reach it.
Platform data differences matter too. The chart may show a brief spike that the execution server never saw.
Testing limit order behaviour, by placing small orders at levels price just touches and logging results, shows how the broker treats touches.
A small experiment worth running: place a limit order one pip away from the market on demo and live, wait for price to touch, and log fills over a week. The ratio of touches to fills is a direct measure of the broker's behaviour. A high ratio suggests an internal matching approach, while a low one suggests a pass-through approach that needs price to trade through.
How often do touch-but-no-fill events happen, and what changed after learning why?
In a pass-through model, the broker fills a limit order only when an external liquidity provider trades at that price. If price touches the level in the broker's feed without any real trade at that price, the order may stay unfilled.
Queue priority is another factor. On an exchange-like venue, orders at a price level fill in order of arrival. If a lot of orders are ahead, price can touch and bounce before reaching the tail of the queue.
The spread also plays a role. A buy limit fills against the ask, so the bid chart must drop below the limit by a spread for the ask to reach it.
Platform data differences matter too. The chart may show a brief spike that the execution server never saw.
Testing limit order behaviour, by placing small orders at levels price just touches and logging results, shows how the broker treats touches.
A small experiment worth running: place a limit order one pip away from the market on demo and live, wait for price to touch, and log fills over a week. The ratio of touches to fills is a direct measure of the broker's behaviour. A high ratio suggests an internal matching approach, while a low one suggests a pass-through approach that needs price to trade through.
How often do touch-but-no-fill events happen, and what changed after learning why?