Every flash crash produces the same story, and I have heard it enough times that I can usually finish it before the person telling me gets to the end. A trader had a stop in place. The market fell hard, the stop triggered exactly the way it was supposed to, and the position was somehow still open at the bottom. The stop was a stop-limit, price blew through the limit in a single candle, and the order sat on the book doing nothing while the trade kept bleeding. The part that stings is that the trader did the responsible thing. They just picked the version of the responsible thing that quietly fails in the one scenario stops exist for.
The names are similar enough that people treat the two order types as interchangeable, and they are, on every day where the difference does not matter.
Two orders, one trigger, very different second halves
Both start the same way. You set a trigger price, the market trades at or through it, and the exchange activates your order. Everything that matters happens after activation.
A stop-market, which most platforms just label a stop-loss, fires a market order the moment the trigger is hit. You get filled at whatever the book offers. On a deep book in calm conditions that is usually within a hair of your trigger. In a fast market it can be meaningfully worse, because your order eats through the bids that actually exist rather than the bids you were imagining. The exit is guaranteed and the price is not.
A stop-limit fires a limit order at a price you chose in advance, typically a bit below the trigger for a sell stop. You will never be filled worse than that limit, which sounds strictly better until you ask how you get filled at all. If price falls through your trigger and then through your limit before your order can match, the order is now resting above the market, waiting for a bounce that may never come. The price is guaranteed and the exit is not.
Which guarantee you want depends on why the stop is there. If it exists to cap the damage on a position you cannot watch, you want the exit. Slippage on a stop-market is painful but bounded, roughly, by how thin the book is at that moment. An unfilled stop-limit has no floor under it, because there is no limit to how far a position can keep falling while your protective order sits unmatched a few percent overhead.
Fast markets are where the difference actually lives
In normal conditions the two behave nearly identically, which is why the distinction feels academic right up until it is not. Two situations break the equivalence.
The first is the flash crash. Liquidation cascades in crypto can move price several percent in seconds, and during those seconds market makers pull their quotes, so the book that looked deep an hour earlier is mostly gone. A sell stop-limit with a tight offset gets jumped in one print. Your order activates, the best bid is already below your limit, and you are now a passive seller in a falling market. Sometimes the bounce comes back through your limit and fills you, and that is honestly the worst outcome for your education, because you learn that skipping is survivable. Then one day the crash is real, the bounce never reaches your limit, and the loss you sized for becomes several times that while an order marked as working sits in your open orders tab.
The second is the thin book, where the danger flips. On an illiquid alt the problem is your own size. If your position is large relative to the standing bids, a triggered stop-market walks down the book and hands you an exit far worse than the trigger. Here a stop-limit with a deliberately wide offset can make sense, since it still fills in almost every realistic case while capping the catastrophic version of slippage. The honest fix is usually position size, though. If a market order of your size moves the price noticeably, the order type is a bandage on a sizing problem.
There is a third wrinkle on perps that catches people. Venues differ on which price triggers the stop, last traded price, mark price, or an index. On a thin market, one aggressive order can print a wick that triggers every last-price stop within reach, and price is back where it started seconds later, minus your position. Mark or index triggers protect you from most of that, and the setting is a checkbox on the order ticket that most people never open.
How I choose, and how I set the offset
My default is boring. For liquid majors, and for anything where my size is trivial relative to the book, I use a stop-market and move on. The slippage on a bad day is real money, but it is bounded, and it is small next to the cost of holding through a crash. I only reach for a stop-limit when I can say out loud why the fill risk is worth taking, which in practice means thin markets where my own order is the liquidity event.
When I do use one, the offset is the whole decision, and I set it against the ugly candle rather than the typical one. The workflow looks like this:
- Pull the live order book before placing the stop and estimate how far a market order of your full size would walk it. If the answer is a small fraction of a percent, use a stop-market and stop overthinking it.
- If the walk is significant, cut the position or split it across venues before reaching for a cleverer order type.
- If you still want a limit, scroll back through the chart and find the fastest, nastiest candle that pair has printed in recent months. Your offset needs to survive that candle, because that candle is the reason the stop exists.
- On perps, check what actually triggers the order. Mark or index triggers are usually the right choice on anything thin.
- Never let a tight stop-limit be the only exit on a position you will not be watching. If you insist on the limit, pair it with an alert so a skipped fill wakes you up instead of surprising you a day later.
One more thing that took me embarrassingly long to internalize is that the labels are not standardized. One venue calls a stop-market a stop-loss, another defaults its stop-loss to a stop-limit with an offset you never chose, and the same word on two exchanges can submit two different orders. Building execution across a long list of venues at Blockcircle beat this into me, so now I check what a stop actually submits on trigger before I trust it anywhere new.
The way I hold it in my head is that a stop is insurance, and insurance is judged by whether it pays out in the tail. A stop-market pays out in the tail at an unflattering price. A tight stop-limit is a policy with an exclusion clause for disasters, and the premium you save on slippage will not feel like much on the day you watch an open position fall with a protective order resting quietly above it.