OCO Order: One Cancels Other Pending Orders Explained
By Ken Chigbo, Founder, KenMacro. Published 2026-05-13.
Quick answer
An OCO order, short for one cancels other, is a pair of linked pending orders where the execution of one automatically cancels the other. Traders use OCO orders to bracket price between two levels, capturing either a breakout or a reversal without committing to a single direction in advance.
What is OCO order?
An OCO order is a conditional order type that links two pending instructions together so that filling one immediately cancels the second. The pair can combine any two order types the platform supports, typically a buy stop with a sell stop for breakout setups, or a buy limit with a sell limit for range reversion. OCO functionality sits at the platform or broker level rather than the exchange, meaning the cancellation logic is handled by the trading terminal. MetaTrader 4 lacks native OCO support and requires an expert advisor, while MetaTrader 5, cTrader, and most institutional execution management systems offer OCO natively.
How traders use OCO order
Retail traders most commonly deploy OCO orders around scheduled event risk such as central bank decisions, CPI releases, or non-farm payrolls, where direction is uncertain but a volatility expansion is expected. Placing a buy stop above the pre-release range and a sell stop below it allows the trader to participate in whichever side breaks, without doubling exposure if both levels trade. Institutional desks use OCO logic inside algorithmic execution to manage liquidity hunts and to bracket key technical levels overnight when the trader is away from the screen. The desk notes that OCO pairs should always be sized as a single position, not two, since only one can fill. Slippage on the stop side during fast markets is the principal execution risk to monitor.
FCA, ASIC and FSCA regulation. Lloyd’s of London supplementary client-fund insurance up to one million dollars per client. Raw-spread ECN execution.
Worked example of an OCO order
Consider EUR/USD trading in a tight range of 1.0850 to 1.0880 ahead of an FOMC statement. A trader anticipating a breakout but uncertain of direction places an OCO pair: a buy stop at 1.0885 and a sell stop at 1.0845, each for the same notional size. When the statement releases, EUR/USD spikes to 1.0905, filling the buy stop at 1.0885. The platform immediately cancels the resting sell stop at 1.0845. The trader is now long a single position, not exposed to a reversal trigger below the range, and can manage the trade from there.
Open a Vantage raw-spread account
Frequently asked
What is the difference between OCO and OTO orders?
OCO, one cancels other, links two pending orders where filling one cancels the second. OTO, one triggers other, links two orders where filling the first activates the second as a pending order. OCO is used to bracket price between two scenarios, while OTO is used to attach a take profit or stop loss that only becomes live once the initial entry is filled. Some platforms combine both into OCO bracket orders that handle entry and exit logic together.
Does MetaTrader 4 support OCO orders natively?
No. MetaTrader 4 does not include native OCO functionality. Traders who want OCO behaviour on MT4 must either use a broker-side bridge that supports it, install a third-party expert advisor that monitors pending orders and cancels the unfilled side after a fill, or manually cancel the second order. MetaTrader 5, cTrader, TradingView via connected brokers, and most professional platforms support OCO natively without scripting.
Can OCO orders fail to cancel in fast markets?
Yes, this is a known execution risk. If price gaps through both legs of an OCO pair simultaneously, for example during a central bank surprise or geopolitical headline, both orders can fill before the platform processes the cancellation message. The result is a position twice the intended size, often with one leg already at a loss. Traders mitigate this by widening the gap between the two stop levels and by avoiding OCO setups around highest-impact scheduled releases on slower retail platforms.
Are OCO orders better than placing two separate stop orders?
For directional breakout setups, OCO is strictly better than two independent stops because it prevents double-fill risk under normal conditions. If a trader places two unlinked stops and price whipsaws through both, they end up with offsetting positions, paying spread and commission on both sides. OCO removes that scenario when cancellation processes correctly. The only time two independent orders make sense is when the trader genuinely wants exposure on either side regardless of the other filling.
Related from the desk
Educational analysis only. Past performance does not guarantee future results. Manage risk against your own portfolio.
Continue reading