OCO Order
Published Last updated
Key Takeaway
A paired order instruction where two orders are placed simultaneously and the execution of one automatically cancels the other, preventing both from filling at the same time.
Learn These First
What Is OCO Order?
A paired order instruction where two orders are placed simultaneously and the execution of one automatically cancels the other, preventing both from filling at the same time.
How OCO Order Works
Frequently Asked Questions
What is an OCO order in crypto trading?
OCO stands for One-Cancels-the-Other. It is a type of paired order where you place two orders simultaneously, and the exchange automatically cancels one when the other fills. In crypto trading, the most common use is pairing a stop-loss and a take-profit order on an open position. If the market rises and your take-profit fills, the stop-loss is instantly cancelled. If the market falls and your stop-loss fills, the take-profit is cancelled. This ensures only one exit order can execute, regardless of market direction.
How is an OCO order different from a bracket order?
A bracket order and an OCO order are closely related but differ in scope. A bracket order is a three-part structure — it includes the entry order alongside the linked stop-loss and take-profit. The OCO component is the mechanism that links the two exit orders so only one can fill. An OCO order refers specifically to the two-order linked pair — usually just the exit side, applied to a position that is already open. Think of the OCO as the core linking mechanism, and the bracket order as a more complete structure that adds an entry order to the OCO exit pair.
What happens if my exchange doesn't support OCO orders?
If your exchange does not offer native OCO order functionality, you will need to manage exit orders manually. This means placing a stop-loss and take-profit as separate independent orders, then cancelling the remaining one promptly if either triggers. This approach works but carries risk — particularly in fast markets where a delay in manual cancellation could result in the second order also executing and inadvertently reversing your position. Some traders on OCO-unsupported platforms use automated trading bots or conditional order tools to replicate the linked cancellation logic programmatically.
Common Misconceptions About OCO Order
With an OCO order, both orders could potentially fill if the market moves in both directions.
This cannot happen with a properly implemented OCO order. The exchange enforces the one-cancels-other link at the system level. The instant one order is matched and confirmed as filled, the cancellation of the paired order is triggered automatically. The only scenario where both could be affected is a platform-level system error, which is rare and considered a broker or exchange liability. When using reputable exchanges, the mutual cancellation guarantee is a core feature of the OCO order type.
OCO orders are only useful for experienced or professional traders.
OCO orders are beneficial for any trader who wants to manage both downside risk and upside target simultaneously without manual monitoring. Many major crypto exchanges present OCO order placement through simple interfaces requiring just two price inputs. The concept is not complex once the core rule is understood: one fills, one cancels. Beginners who grasp stop-loss and take-profit orders are well-equipped to use OCO functionality and benefit from the automation and error-prevention it provides on every trade.
An OCO order and a bracket order are exactly the same thing.
They are related but not identical. An OCO order specifically describes the linked pair of exit orders — typically a stop-loss and take-profit — where one cancels the other. A bracket order is a broader structure that also includes the initial entry order, combining it with the OCO exit pair into a single three-component instruction. Every bracket order uses OCO logic for its exit side, but an OCO order does not necessarily include an entry component. The distinction matters when selecting order types on your specific exchange platform.