OCO: Why Do Traders use One-Cancels-Other Orders?

one cancels other oco orders limit stop limit market

The award-winning NinjaTrader platform offers both basic and advanced order types such as Market if Touched and Simulated Stops, providing flexible and user-friendly order entry methods to trade global markets. OCO, or one-cancels-other, is an advanced order type which can be used to protect open positions or take advantage of price breakouts.

What is an OCO Order?

A one-cancels-other order (OCO) is a pair of conditional orders which specifies that if one of the orders fills, the other is cancelled automatically.

There are two main purposes for OCO orders:

  1. Managing risk in an open position
  2. Entering either a long or short trade following a breakout

Manage Risk in Open Positions

One key function of OCO orders is exiting a position. OCO allows you to place a pair of interconnected stop-loss and profit target orders where if one executes the other is immediately cancelled.

For example, with one contract long as seen in the Crude Oil futures (CL) chart below, there is a stop-loss sell order at 65.60 and a limit sell order at 66.31, both of which are linked by OCO. Therefore, if either order is filled, the other will be cancelled at the same time.

To manage risk in an open position with OCO orders, either an ATM Strategy or manual OCO order entry can be used.

Plan for Breakouts

Another main use of OCO is taking a position after a breakout. A breakout occurs when price moves outside of a defined support or resistance level, “breaking out” to either lower or higher prices.

In this example, the hypothesis is to go long if price breaks up through resistance or go short if price breaks down through support. As seen in the E-micro EUR/USD (M6E) futures chart below, with no open position there is a buy limit order at 1.1239 and a sell (short) limit order at 1.1271 linked to each other by OCO. If either order is filled, the other will be cancelled.

To plan for a breakout up or down with OCO, this pair of orders must be placed via manually using the OCO function:

  1. Right click within the order entry window and enable OCO Order. A green “OC” will appear in the top right-hand corner of the order entry window.
  2. Place your two orders at their desired prices. With NinjaTrader’s dynamic order entry interfaces, the price levels of these orders can be adjusted as long as the orders remain active.
  3. Right click within the order entry window and disable OCO Order. The green “OC” will disappear.

Learn more about advanced order types in this quick video overview:

The award-winning NinjaTrader platform supports both advanced and basic order types including stop loss orders. Additionally, NinjaTrader is always free for advanced charting, strategy backtesting and trade simulation. Get started with our free trading simulator and explore the possibilities!