An OCO (One-Cancels-Other) order is a pair of linked orders where the execution of one automatically cancels the other. The most common use is combining a stop loss and take profit order for an existing position. When price reaches either level, that order executes and the other disappears—ensuring you have exactly one exit, not conflicting orders.
- Two orders linked: when one fills, the other cancels
- Primary use: stop loss + take profit combination
- Ensures clean exit without duplicate orders
How OCO Orders Work
OCO creates a logical link between two orders:
OCO Exit Strategy:
You own 100 shares at ₹500
Order 1: Sell limit at ₹550 (take profit)
Order 2: Sell stop at ₹475 (stop loss)
Link: OCO
Scenario A: Price rises to ₹550
→ Limit order triggers, sells at ₹550
→ Stop at ₹475 automatically cancels
→ Position closed for profit
Scenario B: Price falls to ₹475
→ Stop order triggers, sells at ~₹475
→ Limit at ₹550 automatically cancels
→ Position closed for loss
Quick Reference: OCO Order Structure
| Component | Order Type | Purpose | Trigger |
|---|---|---|---|
| Order 1 | Sell limit | Take profit | Above market |
| Order 2 | Sell stop | Stop loss | Below market |
| Link | OCO | Auto-cancel other | One fills |
Example: OCO in Action
Position: Long 200 shares INFY at ₹1,500
OCO Setup:
- Take Profit: Sell limit ₹1,620 (+8%)
- Stop Loss: Sell stop ₹1,425 (-5%)
- Risk-Reward: 1:1.6
Trade Progress:
| Day | Price | Action |
|---|---|---|
| 1 | ₹1,500 | Entry, OCO active |
| 2 | ₹1,520 | Both orders waiting |
| 5 | ₹1,580 | Both orders waiting |
| 8 | ₹1,620 | Take profit triggers! |
| - | - | Stop at ₹1,425 auto-cancels |
Result: Profit of ₹24,000 (200 × ₹120)
OCO orders link two orders so when one executes, the other cancels. Use OCO to combine stop loss and take profit orders, ensuring clean exits without conflicting or duplicate orders when price moves.
OCO Use Cases
1. Standard Exit Management
The most common use—stop loss and take profit for an open position.
2. Breakout or Pullback Entry
Place OCO with buy stop above (for breakout) and buy limit below (for pullback). Enter whichever scenario happens first.
3. Straddle Entry
Before major news, place OCO with buy stop above and sell stop below. Catch the move whichever direction it goes.
4. Range Trading
At range midpoint, place OCO with sell limit at resistance and buy limit at support.
OCO vs. Individual Orders
Without OCO:
- Place stop loss at ₹475
- Place take profit at ₹550
- Price hits ₹550, sells for profit
- Stop at ₹475 still active!
- Price later drops to ₹475
- Stop triggers, sells shares you don’t own
- Short position created accidentally
With OCO:
- Same orders, but linked
- Price hits ₹550, sells for profit
- Stop at ₹475 automatically cancels
- No accidental short position
- Clean exit
Common Mistakes
-
Not using OCO for exits – Separate stop and target orders can both trigger, creating problems.
-
Forgetting to cancel if position closes manually – If you exit manually, cancel the OCO orders.
-
OCO with wrong quantities – Both orders should be for your full position size to close completely.
-
Imbalanced risk-reward – OCO makes R:R visible. Don’t accept bad R:R just because it’s easy to place.
How JournalPlus Tracks OCO Exits
JournalPlus logs which side of your OCO triggered—target or stop—tracking your hit rate on targets versus stops over time. This helps you analyze whether your target placement is realistic.