One-Cancels-the-Other (OCO) Order
Overview
A one-cancels-the-other (OCO) order links two conditional orders so that when one executes, the other is automatically canceled. Traders commonly pair a stop order with a limit order. OCO orders help manage risk and automate responses to price moves, especially in volatile markets.
How OCO Orders Work
- You submit two orders that are contingent on one another (for example, a sell limit and a sell stop).
- If one order fills, the trading platform cancels the other order immediately.
- Both orders should share the same time-in-force (e.g., day or good-til-canceled) to avoid mismatched expirations.
- Note: an OCO order cancels the counterpart order automatically, but you may need to place additional protective orders (like a stop-loss) manually after a trade is executed, depending on platform features.
Common Uses
- Breakout trading: place a buy stop above resistance and a sell stop below support to enter whichever direction the market breaks.
- Retracement trading: place a buy limit at support and a sell limit at resistance to buy low or sell high within a range.
- Position exit management: simultaneously set a profit target (limit) and a loss limit (stop) so one execution locks in the result while canceling the other.
Practical Example
- You own 1,000 shares trading at $10. Target is $13; maximum acceptable loss is $2 per share.
- Place an OCO with:
- Sell limit: 1,000 shares at $13 (take-profit)
- Sell stop: 1,000 shares at $8 (stop-loss)
- If price reaches $13, the limit order executes and the $8 stop is canceled. If price falls to $8 first, the stop executes and the $13 limit is canceled.
- Without OCO, forgetting to cancel the opposite order could accidentally create an unwanted short position.
Advantages
- Automates trade management and reduces the chance of conflicting orders executing.
- Helps enforce disciplined exits (profit-taking and loss-limiting) without constant monitoring.
- Useful around earnings, news, or other volatility events.
Limitations and Risks
- Not all brokers/platforms offer native OCO functionality; behavior and available order types vary.
- OCO does not replace the need to manage a live position—slippage, partial fills, or platform delays can still occur.
- If orders are placed independently, human error (forgetting to cancel one) can lead to unexpected positions.
- Time-in-force mismatches can unintentionally invalidate one leg if not set identically.
How to Place an OCO Order (Checklist)
- Decide the two outcomes you want (e.g., profit target and stop-loss, or breakout above/below a range).
- Choose order types for each leg (limit vs stop).
- Set identical time-in-force for both orders.
- Confirm quantity matches across both legs to avoid position mismatches.
- Review platform behavior for partial fills and cancellation timing.
- After one leg executes, verify the opposite leg is canceled and place any additional protective orders if needed.
Best Practices
- Test OCO behavior in a demo account to understand your broker’s execution and cancellation timing.
- Use round-number spacing to account for typical bid-ask spreads and avoid immediate fills from noise.
- Combine OCO with position sizing and risk management rules to align potential loss with your risk tolerance.
- Monitor the market when volatility is extreme—OCOs help but do not eliminate execution risk.
Conclusion
OCO orders are a practical tool to automate trade outcomes and prevent conflicting executions. When used correctly—with matching time-in-force, proper sizing, and awareness of platform specifics—OCOs streamline entry and exit strategies and help enforce disciplined risk management.