Back to blog
Glossary

OCO Orders: One Cancels the Other

6 min read · Glossary · By Karani Markets
OCO Orders: One Cancels the Other

An OCO order, short for one-cancels-the-other, links two orders together so that when one fills, the exchange automatically cancels the other. On ES futures, traders typically use it to pair a stop-loss with a profit target: if price hits the target first, the stop disappears, and if price hits the stop first, the target disappears. It is a basic piece of order-management plumbing, not a strategy on its own.

What is an OCO order?

An OCO order is two separate orders submitted as a linked pair. The exchange or your trading platform tracks both. The moment either one fills, even partially on some platforms, the other is cancelled without you having to lift a finger.

The most common pairing is a stop order and a limit order sitting on opposite sides of your position. One protects you from further loss. The other locks in a gain if price moves your way. Only one of the two can ever actually execute.

How an OCO order works on ES futures

Say you buy one ES contract at 4500. One ES tick is 0.25 points, worth $12.50, so every full point of movement is worth $50 per contract. You place an OCO with a stop at 4490 (10 points, $500 of risk) and a target at 4515 (15 points, $750 of potential gain).

Both orders live on the book at the same time. If ES trades up to 4515, your limit sell fills and the stop at 4490 is cancelled instantly. If ES drops to 4490 first, the stop triggers, you're flat, and the 4515 limit order is pulled. You never end up short and long at once, and you never end up holding both a filled stop and a filled target.

An OCO order manages two tickets, not your risk.

Why pair a stop and a target instead of using one alone

Without the OCO link, you'd have to manually cancel the other order every time one fills. In a fast market that few seconds of delay can matter. A stray target order left live after your stop already took you out of the trade can get filled on a bounce and leave you with an unintended position.

The OCO removes that manual step. It's a housekeeping tool, not a risk-reducer. Your stop distance and target distance still determine your actual risk and reward. The OCO just makes sure the bookkeeping matches what you intended once one side triggers.

OCO order vs bracket order

A bracket order is a superset: an entry order plus an OCO pair attached to it for the exit. You submit one instruction (buy at 4500) and the platform automatically builds the stop and target once you're filled. An OCO order on its own assumes you're already in the position and just want the exit orders linked.

In practice, most retail platforms let you build a bracket in one ticket, which is really just an entry order followed by an OCO. Knowing the difference matters mostly when you're troubleshooting why an order didn't behave the way you expected.

What an OCO order does not do

A stop order in an OCO pair is still a stop order. Once triggered, it usually becomes a market order, and in a fast-moving ES session that market order can fill several ticks worse than your stop price. The OCO guarantees the cancellation logic, not the fill price.

It also doesn't manage size, doesn't adapt to volatility, and doesn't know anything about your daily loss limit or account risk. It executes exactly the two orders you gave it. Any broader risk control, like a daily-loss cap or a hard position limit, has to be built and enforced separately, which is part of why systematic approaches wrap order logic like this inside a larger rules-based framework rather than relying on it alone.

Common questions

Can an OCO order fill both sides by accident?

Under normal conditions no, because the cancellation of the other order is sent the instant one fills. In extremely fast or illiquid conditions there can be a brief window where both orders are technically live, so platforms and exchanges prioritize cancelling the untouched side as fast as their systems allow.

Does an OCO order protect against slippage?

No. If the stop leg is a stop-market order, it converts to a market order once triggered and can fill at a worse price during a fast move. The OCO only controls which order gets cancelled, not the price you get filled at.

Is an OCO order the same as a bracket order?

Not quite. A bracket order includes the entry order plus an OCO pair for the exit. An OCO order by itself just links two exit orders, assuming you're already in the trade.

Karani runs the disciplined part for you

A tested, rules-based system on the S&P 500 futures, with hard risk limits and a kill switch you control. Access is invite-only.