Stop-Limit Order: Protection That Can Fail
A stop-limit order combines a trigger price that activates the order with a limit price that bounds the fill. It prevents execution at an unacceptable price, and the same feature means it can fail to execute at all, leaving the position open.
How it works
Two prices instead of one. The stop price activates the order; the limit price bounds what it will accept.
A sell stop-limit at 99 trigger, 98.50 limit means: if price reaches 99, place a sell limit at 98.50. It will fill at 98.50 or better and never below.
Which solves a genuine problem. A plain stop order becomes a market order and takes whatever is available, and in a thin or fast market that can be a long way from the trigger. The limit puts a floor under how bad the fill can be.
The failure that matters
If price moves past the limit without filling, the order sits there and the position stays open. You intended to be out at 99. Price is at 95 and falling. The order is still working, unfilled, at 98.50.
A gap through both prices is the clean version of this. The market reopens below your limit, nothing trades at or above it, and the exit does not happen.
Compare the two failure modes honestly. A plain stop fills at a bad price — a known, bounded, painful outcome. A stop-limit does not fill at all — an unbounded outcome, because the position remains open and the market keeps moving.
On an exit, those are not equivalent risks. The whole purpose of the order is to end the position, and an order type that can decline to end it has substituted a large unknown risk for a smaller known one.
In practice
As an entry the reasoning reverses entirely. A buy stop-limit above the market says: enter on the breakout, but not if it has already run too far. Failing to fill costs you an opportunity, which is a bounded and often welcome outcome.
That asymmetry is the practical rule. Stop-limit for entries, where not filling is acceptable; plain stop for exits, where not filling is the thing you were trying to prevent.
How far apart to set the two prices has no established answer. Too close and the order will miss in any fast move; too far and the limit is not protecting against anything. A multiple of average true range is the most defensible approach, and it is still a choice.
Thin volume is where the limit earns its keep. A market order into an empty book walks it several levels; the limit stops that. It is also where the no-fill risk is highest, which is the central tension of the order type.
On longer timeframes the gap between the two prices has to be wider, because daily bars move further, which weakens the protection the limit was for.
A fill still costs the round trip: 2% of a median bar’s range on this history.
And on small bars the two prices can be further apart than the bar itself. With tenth-percentile bars at 0.17 on this series against a median of 0.493, a limit set half a median bar below the trigger is three times the range of a quiet bar — protection that will never be tested in the conditions where it would fire.
What a stop-limit order is not
It is not a safer stop. It swaps a bounded bad outcome for an unbounded one on exits.
It is not a broker’s protected stop. Some brokers sell a protected stop as a separate, paid product that carries a fill commitment; this is not that.
It is not protection against a gap. A gap through both prices is precisely the case it cannot handle.
And it is not the right default. For exits, the plain stop order does the job the order was placed to do.
When it fails
In a quiet range it fills every time and the limit never binds. Which feels like it is working — and means the protection has not been tested. The first test comes in the conditions that produce fast moves, which is when it fails.
The second failure is the gap through both prices, leaving the position open in a market that has already moved against it.
A third is the limit set too tight. A limit a tick below the trigger will miss almost any real move, which converts the order into a stop that only works when you did not need it.
A fourth is using it on an exit at all. The asymmetry between “bad fill” and “no fill” is the argument, and it does not depend on any market view.
And a fifth is forgetting it is still working. An unfilled stop-limit remains live at its limit price. If price returns later, it fills — at a moment you were no longer thinking about, on a decision you made under different conditions.
The original data
On this site’s shared 576-bar history, bar ranges run from 0.17 at the tenth percentile to 1.10 at the
ninetieth — a ratio of 6.5 — against a median of 0.493, and the round-trip cost of 0.0098 price units is
2% of that median bar and 45% of the smallest bar in the series. The figures are in
research/series-measurements.json, produced by site/measure_series.py.
That 6.5-fold spread in bar ranges is exactly why the gap between trigger and limit cannot be a fixed number of ticks. A distance that is generous on a ninetieth-percentile bar is impossibly tight on a tenth-percentile one, and a distance that works in quiet conditions is not protection in fast ones. Setting the gap as a multiple of your instrument’s recent average true range makes it scale with the market rather than with your habits — and computing that range distribution once, as above, tells you what multiple is actually needed rather than what feels right.
Related
Stop order is the plain version, which always fills. Limit order is the second half of this order and explains queue position and no-fill risk. And stop loss covers what an exit order is for in the first place.
I used stop-limits on exits for about six months and stopped after one instrument gapped through both prices and left me holding it. The protection worked exactly as designed and the design was wrong for what I was using it for.
— Michael Whitman
This page is educational, not financial advice. Test every idea on your own charts before risking money.