Trading Reality

There Is Only STOP and LIMIT

Your platform lists six order types. Your broker's documentation mentions eight. None of that taxonomy is real. In any market, on any platform, going back to before computers existed, there have only ever been two: STOP and LIMIT. Everything else is a name someone gave to a variation of one of those two.

STOP orders: execution by force

A STOP order is a command. You're telling the broker: execute when price reaches this level. I don't care what the exact fill is, just get me in or out. The broker goes to market and takes whatever price is currently available.

The priority is execution, not price. You get filled. Where exactly, you don't control.

Every one of these is a STOP order:

  • Market order — execute right now, at whatever the current price is. A stop order with the trigger set to this instant.
  • Stop Loss — when price hits this level, get me out immediately at whatever is available.
  • Buy Stop — when price rises to this level, buy immediately.
  • Sell Stop — when price drops to this level, sell immediately.
  • Take Profit* — on most retail platforms, including all MetaTrader versions, a TP is stored as a pending order that triggers as a market order when price reaches the level. Same execution mechanic as a stop loss.

The word "stop" isn't always in the name. A market order is just a stop order with no delay. The mechanism is identical: you're demanding the broker act at whatever price the market can give you at that moment. This is why stop orders slip — you gave up price control in exchange for guaranteed execution.

* Supporting orders like Take Profit and Stop Loss can technically be implemented as limit orders — and on platforms like cTrader, TP execution is genuinely limit-based, meaning you get your price or better. But in most retail platforms, including all MetaTrader versions, they are not. MetaTrader stores all pending instructions — TP, SL, buy limit, sell limit, buy stop, sell stop — as server-side "pending orders" that trigger market execution when price reaches the specified level. There is no order sitting in the exchange book. When your level is hit, a market order fires. Whether the platform calls it a "take profit" or a "stop loss" is irrelevant — the execution mechanic is the same, and so is the slippage risk.

LIMIT orders: execution on your terms

A LIMIT order is a condition. You're telling the broker: fill me at this price, or better. If the market doesn't come to my level, don't fill me at all. You place an offer into the order book and wait for the market to meet it.

The priority is price, not execution. You might not get filled. But if you do, it's at your price or better. Always.

Every one of these is a LIMIT order:

  • Buy Limit — buy when price comes down to this level, at this price or better.
  • Sell Limit — sell when price rises to this level, at this price or better.
  • Take Profit — on platforms with true limit execution (cTrader being the most common retail example), a TP is a genuine limit order: it fills at your level or better, and positive slippage is possible.

Why this is the whole slippage story

STOP orders slip. By design. You asked for execution, not a price. When you place a market sell at 1.0850 and fill at 1.0848, that's the order doing exactly what it's supposed to: getting you out at whatever the market had. The slip is the cost of demanding action in a market that moves in discrete ticks, not on a smooth scale.

There's a more uncomfortable version of this: the price you see when you decide to exit is already the past. By the time your click registers, travels to the server, and gets matched, that tick is gone. Your request to get out at 1.0850 is honored — the broker does exactly what you asked — but where the market actually is when your order arrives is the next tick, wherever that happens to be. You are always trading a price that no longer exists. The slip is the gap between the price you reacted to and the price the market was at when your reaction arrived.

LIMIT orders cannot slip in the bad direction. The mechanics prevent it. If you place a buy limit at 1.0850 and the market moves quickly past your level, you fill at 1.0849 or 1.0848 — better than you asked for. If the market can't meet your price, you don't fill. There is no scenario where a limit order gives you a worse price than you specified.

This is why your Stop Loss can overshoot significantly in fast conditions while a true limit entry holds its price. The difference is the order type, not the volatility. On a platform with genuine limit order execution, a Take Profit also benefits from this — it fills at your level or better. On MetaTrader, where both TP and SL trigger as market orders, neither has a fill guarantee. In practice TP slippage on MT tends to be small because price typically moves through target levels more gradually than it blows through stops during news events — but the structural protection isn't there.

Futures platforms and equity platforms that use netting handle this differently. In a netting model, the platform doesn't hold a "position" — it holds a net of orders that are either active or flat. Closing a trade is just placing the opposing order, and that order can be a limit. Because there's no separate "close position" mechanic that forces a market exit, you can exit on your terms rather than demanding the market take you out. This is one structural reason professional and exchange-based platforms tend to have tighter effective slippage on exits than retail OTC platforms.

Want to control your entry price? Use a limit order instead of clicking "buy at market." You might miss some trades when price doesn't retrace to your level. But every fill you do get comes at your price or better, and positive slippage becomes your default rather than your exception. That trade-off is a deliberate strategy choice.

This was true before computers existed

Open outcry pits in 1920 had the same two order types. A floor broker shouting "buy at market" was issuing a stop order: execute now at whatever anyone will sell for. A broker shouting "buy at 1.0850, no higher" was issuing a limit order: only fill me if someone is willing to sell at my price or cheaper.

The names changed when screens replaced pits. The products multiplied when platforms needed features to sell. But the underlying mechanics never changed. Price is discrete, transactions happen between willing counterparties, and your order either demands execution or specifies a condition. That's it.

Order conditions

Both STOP and LIMIT orders can carry conditions controlling how long they stay active and how fills interact. The ones worth knowing:

Condition What it means Typical use
GTC
Good Till Cancelled
Stays active until it fills or you cancel it manually. The default for most pending orders. Your limit entry or pending stop stays live indefinitely until triggered or pulled.
OCO
One Cancels Other
Two linked orders where filling one automatically cancels the other. A bracket: your Take Profit and Stop Loss are OCO. When price hits one, the other disappears automatically. Most platforms implement this behind the scenes whenever you set both on an open position.
GTD / GTT
Good Till Date / Time
Order expires at a specified date or time if not filled before then. Event-based setups. You want a limit entry before an NFP release but only for the next 20 minutes. After that the setup is stale and you don't want to be filled into a different market.
GFD
Good For Day
Expires at end of session if not filled. Intraday setups where an unfilled order carrying overnight creates unwanted risk. Not all brokers offer this separately from GTD.
Related: Slippage — why stop orders slip and limit orders don't, explained at the market structure level, including why price moves in discrete ticks and not on a continuous scale.

Related