Forex Order Types Explained: Market, Limit, Stop, OCO and How Execution Actually Works

Most order-type explanations stop at the definition: market fills now, limit fills at your price, stop triggers a breakout. That is the easy half and it is where retail coverage and the typical forum thread give up. The half that decides what price you actually get is what happens behind the order, the routing model, the fill logic, the requote, the last-look. Two traders can send the identical order on the identical pair and get materially different fills because of where the order goes after they click. This guide is both halves: what each order does, and what the broker does with it.
An order is an instruction with a contract attached. Knowing the instruction is table stakes. Knowing the contract, what is guaranteed and what is not, is the part that protects the account.
The desk’s read, in one box
A market order buys execution certainty and pays for it with price uncertainty (slippage). A limit order buys price certainty and pays for it with execution uncertainty (it may never fill). A stop order is dormant until price touches it, then becomes a market order, so it inherits slippage and is used for breakouts and protection. Stop-loss and take-profit are just a protective stop and a protective limit attached to a position, usually linked as an OCO so one filling cancels the other. The fill you receive depends as much on the broker’s routing model, b-book, STP, agency or ECN, and on requotes and last-look, as on the order itself. Choose the order for what you need guaranteed: the price, or the fill.
The one distinction everything else hangs on
Every order type is a position on a single trade-off: certainty of execution versus certainty of price. You cannot have both at once, and every named order is just a particular way of choosing which one you are willing to give up. Market orders guarantee the fill and surrender the price. Limit orders guarantee the price and surrender the fill. Stop orders guarantee nothing until triggered and then behave like a market order. Hold that single axis in mind and the rest of this is bookkeeping.
Market order: certainty of execution, not of price
A market order says trade now at the best available price. It almost always fills, which is its entire purpose, but the price on the screen when you click is the last known quote, not a promise. Between your click and the order reaching the liquidity it executes against, price can move, and the size available at the best price may be smaller than your order, so the remainder fills at the next levels. The difference between the expected price and the achieved price is slippage.
Slippage is symmetric in principle. You can be filled better than expected just as easily as worse, and on a quiet pair in normal conditions it is small and roughly even over time. It becomes asymmetric against you in stressed or thin liquidity: around high-impact data, at the session rollover, on weekend gaps, and in fast markets where the book thins out and the best available level skips well past where the screen showed. The market order did exactly what it promised, it got you filled, the cost was that the fill was not where you looked.
Get the framework the desk runs every morning. Free. No card. The same institutional structure the MACRO MASTERY desk uses on every read.
Limit order: certainty of price, not of execution
A limit order says trade only at a specified price or better, never worse. It splits into two by side. A buy limit sits below the current price and is used to buy a pullback at a better level than now. A sell limit sits above the current price and is used to sell a rally into a better level. The reward is price improvement, you get your price or something more favourable, never something worse. The risk is non-fill: if price never reaches the limit, or trades through it so fast that the resting size is skipped, the order does not execute and the move happens without you.
There is a subtle second non-fill case. A limit can be touched without being filled if the order ahead of it in the queue at that price consumes the available liquidity before yours is reached. Price tagging your limit on the chart is not the same as your limit being filled. Treating a touch as a fill is a common reconciliation error that hides as a strategy problem.
Stop order: dormant, then a market order
A stop order, sometimes called a stop entry, does nothing until price reaches its level, at which point it converts into a market order and executes at whatever is then available. A buy stop sits above the current price and is the classic breakout-buy: trade only once price has risen through this level. A sell stop sits below the current price for the breakdown case. Because a triggered stop becomes a market order, it carries the full market-order slippage profile, and that slippage is worst precisely in the violent breakout conditions a stop is often used to catch. The stop guaranteed it would not act until the level broke. It did not, and could not, guarantee the price once it did.
Stop-loss and take-profit are not new order types
A stop-loss is a stop order attached to an open position to close it if price moves against you to a defined level. A take-profit is a limit order attached to a position to close it at a favourable target. They are the same two primitives, stop and limit, pointed at an existing position rather than used to enter. This is why a stop-loss can slip through its level on a gap, it is a stop, so it becomes a market order when touched, and a take-profit cannot give you a worse price than its level, it is a limit. The behaviour you have already read about applies unchanged. Naming them protective does not change their mechanics.
ASIC regulated. The desk’s preferred broker for retail macro traders who want the MACRO MASTERY desk overlay alongside the platform.
Trailing stop: the server-side versus platform-side trap
A trailing stop is a stop-loss that follows price by a fixed distance in the profitable direction and never moves backward. As the position gains, the stop ratchets up behind it; when price reverses, the stop holds and is hit if the reversal reaches it. The mechanics of the stop are ordinary. The location of the calculation is not.
A platform-side trailing stop is computed by the trading terminal on your own machine. It only updates while the platform is open and connected, so if the terminal is closed, asleep or disconnected, the trail freezes wherever it last was. A server-side trailing stop is managed by the broker’s infrastructure and keeps tracking regardless of whether your platform is running. Many retail platforms default to the platform-side version, which means the protection a trader believes is active overnight may simply not be running. Knowing which one your setup uses is not a detail, it is whether the stop exists when you are not watching.
OCO and bracket structures
OCO means one-cancels-other: two orders linked so that the execution of either automatically cancels the other. The standard use is the bracket around an open position, a protective stop-loss on one side and a take-profit limit on the other, so whichever price is reached first closes the trade and immediately removes the survivor. Without the link you can be left with an orphaned order resting in the market after the position is already closed, able to open a fresh, unintended position when it later triggers.
The other common use is the breakout straddle: a buy stop above a level and a sell stop below it ahead of an expected move of unknown direction, linked so the side that fires cancels the other and you are not left holding both. An if-done or bracket order extends this: the entry is primary, and the stop-loss and take-profit are contingent orders that only become active once the entry fills, then behave as an OCO pair between themselves. The value of all of these is structural. They make the position close itself correctly without a human present to cancel the leftover.
ASIC regulated. Raw-spread ECN execution. Built for active intraday forex and index traders who care about cost per round-turn.
Pending order expiry: GTC, day, GTD
A pending order needs an expiry, and the choice has consequences. Good till cancelled (GTC) lives until it fills or you remove it, across sessions and days. A day order expires automatically at the end of the trading day. Good till date (GTD) expires at a specific date and time you set. The failure mode is the forgotten GTC order: a pending entry placed for one regime that triggers days later into an entirely different one, executing a thesis that no longer exists, often while the trader is not even watching that pair anymore. Expiry is part of the instruction. Leaving it on the default is itself a decision, usually an unexamined one.
How execution actually works behind the order
This is the layer most coverage omits entirely, and it is where identical orders produce different fills. After you click, the order is handled by the broker according to its model.
- Market maker, or b-book: the broker is the counterparty to your trade and does not necessarily pass it to an external venue. Fills can be fast and spreads tight, but the broker’s book is the other side of yours, which is the structural conflict you should understand exists rather than moralise about.
- STP and agency, or a-book: the order is passed through to one or more liquidity providers. Your fill reflects the price and size those providers actually offer, so it depends on real external liquidity rather than the broker’s internal book.
- ECN: orders interact with a pool of competing prices from multiple participants. Pricing is typically raw plus a commission, and the fill is whatever the pool offers at the moment of execution.
Two execution behaviours sit on top of the model and directly change your fill. A requote happens under instant execution: if price moved past a tolerance before your order arrived, the broker offers a new price you must accept or reject, so you keep price certainty and lose time. Last-look is a window in which a liquidity provider can reject an order it has been shown after a brief delay, typically when the market has moved against the provider in that instant, which tends to concentrate rejections precisely in fast conditions. None of this changes what your order type means. All of it changes what price that order type actually achieves.
Choosing the order for the conditions
Order choice is not independent of session and volatility, it interacts with both, and with cost. In thin or violent conditions a market order’s slippage widens and a stop’s trigger-then-fill gap widens with it, while a limit’s non-fill risk falls because price is moving fast enough to reach it, at the cost of being filled and then run over. In calm, liquid sessions the opposite holds: slippage on market orders is small, limits are more likely to sit unfilled, and the spread is a larger share of a small expected move. Higher-frequency, smaller-target trading pays the spread and any slippage more often relative to the move captured, so the order type and the cost structure compound. The point is not which order is best. It is that the right order is a function of what you need guaranteed in those specific conditions, the price or the fill, and what the structure costs to get it. This is a framework for thinking about the instruction, not a recommendation to use any particular one.
Mechanics serve the regime, not the other way round
Order choice only matters once the regime read tells you what you are trying to do. The free macro framework is the five-lens read the desk fixes before any order is built. Start there.
ASIC and FSCA regulation. Cent-account option for small balances. Leverage up to 1:1000 on the offshore entity for the high-leverage archetype.
Related reading
- The free macro framework (the five-lens regime read every order should serve)
- Why most forex traders lose money (where costs and slippage quietly erode an edge)
- How to read the yield curve (one of the lenses for fixing the regime first)
- How to plan your trading week (turning regime into a small number of structured situations)
Frequently asked questions
What is the difference between a market order and a limit order?
A market order trades now at the best available price, prioritising the fill over the price, so it can slip away from the screen price. A limit order trades only at a set price or better, prioritising the price over the fill, so it may never execute. A buy limit sits below price, a sell limit above it. Market orders solve getting in; limit orders solve getting a price.
What is the difference between a buy stop and a buy limit?
A buy limit sits below the current price to buy a pullback at a better level. A buy stop sits above the current price to buy only once price breaks through, the breakout entry. The mirrors are the sell limit above price and the sell stop below it. A limit fills at its price or better; a stop becomes a market order once touched and can fill worse through slippage.
What is an OCO order?
One-cancels-other: two linked orders where executing one cancels the other. The common use brackets a position with a stop-loss and a take-profit so whichever hits first closes the trade and removes the survivor, preventing an orphaned order. It is also used to straddle a level with a buy stop above and a sell stop below ahead of a breakout. The two orders cannot both live.
How does a trailing stop work?
It is a stop-loss that follows price by a fixed distance in the profitable direction and never moves backward, so it locks in gains as price advances and holds when price reverses. The key distinction is location: a platform-side trailing stop only updates while your terminal is open and connected, a server-side one is managed by the broker and tracks even when your platform is off.
Why does my market order fill at a different price than I saw?
The displayed price is the last known quote, not a contract. Price can move between click and execution, and the size at the best price may be smaller than your order, so part fills further away. That gap is slippage, symmetric in principle but asymmetric against you in stressed or thin liquidity. Routing also matters: instant execution can requote, market execution fills with slippage instead.
What does GTC mean for a pending order?
Good till cancelled: the order stays live until it fills or you remove it, across sessions and days. A day order expires at the end of the trading day; GTD expires at a date and time you set. The risk with GTC is a forgotten pending order triggering days later into a different regime than it was built for. Expiry is part of the order, not an afterthought.
Educational analysis only, not financial advice. Past performance does not guarantee future results. Always manage risk and never risk more than you can afford to lose. This is macro education and scenario framework, never a signal or a recommendation to trade.
From the desk, free
Get the macro framework the desk actually trades
The same regime-first framework behind every call on this site, plus the weekly macro brief. Free. No spam, unsubscribe anytime.
Continue reading
From the desk
Where this gets traded
Reading the macro driver is half of it. The other half is an account that holds execution when the driver actually moves the tape. See the KenMacro desk guide to the best brokers for macro traders.
Read the desk guide →