WhitmanTrading

Limit Order: The Fills You Miss Are the Cost

A limit order specifies the worst price you will accept, and will not execute beyond it. You gain control over the price and lose the certainty of being filled, and the orders that never fill are a cost that appears in no statement or trading journal.

How it works

A candlestick chart of the site's shared price history. The headline on the chart reads: A price you will not do worse than.
A price you will not do worse than. Illustrative chart - not real market data.

A limit order names a price and says: fill me here or better, or not at all. A buy limit at 100 will fill at 100 or lower and never above it.

A gently rising stretch of the long price series. The headline on the chart reads: You control the price and give up the certainty.
You control the price and give up the certainty. Illustrative chart - not real market data.

That is the whole trade-off against a market order, stated in one line. One of them guarantees the price; the other guarantees the fill. There is no order type that does both, and every execution decision is a position on which you would rather have.

A 72-bar candlestick section of the shared price history. The headline on the chart reads: It joins a queue, and the queue has an order.
It joins a queue, and the queue has an order. Illustrative chart - not real market data.

A resting limit order joins a queue at its price, usually filled in the order it arrived. If a hundred contracts are ahead of you and only fifty trade there, you do not fill even though price “reached your level.” That is the most common reason a limit order missed a trade the chart says it should have caught.

The cost nobody records

A strongly rising stretch of the long price series. The headline on the chart reads: The trades you miss are the cost, and they are invisible.
The trades you miss are the cost, and they are invisible. Illustrative chart - not real market data.

Every unfilled limit order is a decision with a consequence, and nothing in your account records it. The broker statement shows fills. The journal shows trades taken. The move that ran without you because your bid was a tick too low is absent from both.

Which systematically flatters limit-order execution in review. The filled sample looks better than the full set of intentions, and the difference is exactly the trades that got away.

The fix is to log intended entries as well as fills. A line in a spreadsheet for every order placed, including the ones that never filled, turns an invisible cost into a countable one. It is tedious for a week and settles the question permanently.

A declining stretch of the long price series, with the entry price and the level at which a stop would trigger drawn as horizontal lines. The headline on the chart reads: And the ones that do fill are the ones price came back for.
And the ones that do fill are the ones price came back for. Illustrative chart - not real market data.

There is a second, subtler asymmetry. A resting buy limit fills when sellers come to it — that is, when price is falling toward your level rather than moving away from it. So the fills you get are biased toward the cases where price kept going against you afterwards.

That is called adverse selection and it is a real, structural feature, not bad luck. It is the reason market makers charge a spread for the privilege of resting orders on both sides.

In practice

A calmly advancing stretch of the long price series. The headline on the chart reads: Most venues pay you a little for providing the quote.
Most venues pay you a little for providing the quote. Illustrative chart - not real market data.

Most venues run a maker-taker fee structure: a small rebate for adding a resting order and a slightly larger fee for removing one. That difference is small per trade and it compounds over a lot of trades, which is why it appears in every serious cost model and in almost no beginner material.

A candlestick chart of the site's shared price history, annotated with the round-trip cost. The headline on the chart reads: It saves part of the round trip a trade costs.
It saves part of the round trip a trade costs. Illustrative chart - not real market data.

The round trip on this site’s shared history is 2% of a median bar’s range, and a limit order saves part of that by not paying the spread on entry.

A flat, quiet stretch of the long price series. The headline on the chart reads: On a small bar that saving is most of the move.
On a small bar that saving is most of the move. Illustrative chart - not real market data.

And here is the figure that decides whether it matters. On this history, bar ranges run from 0.17 at the tenth percentile to 1.10 at the ninetieth — a 6.5-fold spread. The same fixed cost is 2% of a median bar and 45% of the smallest bar in the series.

So execution quality matters most in exactly the conditions where it is hardest to achieve: quiet, thin, small-range bars where the spread is a large share of the move and there is nobody to trade with.

A candlestick chart with a volume histogram beneath it, with the volume histogram emphasised. The headline on the chart reads: Participation decides how fast the queue moves.
Participation decides how fast the queue moves. Illustrative chart - not real market data.

Volume is what moves the queue. Heavy participation means orders ahead of you clear quickly; thin participation means your order can sit at the touch and never fill while price trades around it.

A sideways, range-bound candlestick series. The headline on the chart reads: In a range it fills often and earns the spread.
In a range it fills often and earns the spread. Illustrative chart - not real market data.

A range is where limit orders work best. Price oscillates, comes back repeatedly, and resting orders fill at good prices — which is exactly what market makers rely on.

A long-horizon candlestick view of the same price series. The headline on the chart reads: On a daily chart the order sits for hours.
On a daily chart the order sits for hours. Illustrative chart - not real market data.

On a longer timeframe an order rests for hours or days, and an order resting through news is a position you have committed to at a price chosen before the news existed.

A candlestick series containing several opening gaps, with the largest opening gap marked. The headline on the chart reads: A gap past it fills at the open or not at all.
A gap past it fills at the open or not at all. Illustrative chart - not real market data.

A gap past your limit fills you at the opening price if the gap goes through it, which is better than your limit — or skips you entirely if the market opens the other way.

What a limit order is not

It is not a guarantee of execution. It is a guarantee about price only.

It is not visible as a stop. Resting limit orders appear in the order book; stop orders are held at the broker and do not.

It is not free. The unfilled orders cost you the trades, and the filled ones carry adverse selection.

And it is not always the better choice. On a fast move in a liquid instrument, the certainty of a market order is worth more than the fraction of a spread a limit might save.

When it fails

A flat but volatile stretch of the long price series. The headline on the chart reads: And in a fast market it simply does not get there.
And in a fast market it simply does not get there. Illustrative chart - not real market data.

In a fast market it does not fill. Price moves through the level faster than the queue clears, or trades a tick away and leaves. The trades a limit order misses are concentrated in the moves that went furthest.

The second failure is chasing. The order does not fill, price moves, the limit gets moved up, and the process repeats until the entry is worse than a market order would have been at the start.

A third is the review bias. Judging execution on fills alone measures a filtered sample.

A fourth is resting orders through events. An order left in the book across a scheduled release is a commitment made before the information existed.

And a fifth is using one where certainty matters. Exiting a losing position with a limit order means the exit happens only if price comes back to you, which is precisely what it may not do.

The original data

Bar ranges on this site’s shared 576-bar history run from 0.17 at the tenth percentile to 1.10 at the ninetieth — a ratio of 6.5 — with a median of 0.493 and a smallest bar of 0.022. The round-trip cost of 2% of a median bar is 0.0098 in price units, which is 45% of that smallest bar, and it exceeds 10% of the bar’s range on 15 of the 576 bars. All of it is in research/series-measurements.json, produced by site/measure_series.py.

A 72-bar window of the shared price history, cut short at the decision bar. The headline on the chart reads: Price is one tick above your limit. Chase it?
Price is one tick above your limit. Chase it? Illustrative chart - not real market data.

The 6.5-fold spread in bar ranges is the number that should decide your order type, and almost nobody computes it. A fixed execution cost is trivial on a large bar and most of the opportunity on a small one, so the same order type is a good decision in one regime and a bad one in another. Compute the range distribution for your instrument and timeframe, express your round-trip cost as a percentage of the tenth-percentile bar, and you will know whether you can afford to trade quiet conditions at all — which is a more useful answer than any general rule about limit versus market orders.

Order types is the parent page covering the full set. Market order is the other side of the trade-off. And bid-ask spread is the cost a limit order is trying to avoid.

What I actually do

Limit orders fixed my costs and hid my mistakes for about a year. Every fill looked better, and the trades that ran away without me were not in my journal at all - so I was reviewing a filtered sample and concluding my entries had improved.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money.