How to set a target and stop-loss together for a futures position on Zerodha
Zerodha discontinued bracket orders (BO) in 2020, so you can no longer place a single order that carries an entry, a target, and a stop-loss together on a futures position. To protect an open futures position on Kite with both a profit target and a stop-loss, the supported route is a GTT one-cancels-other (OCO) order, which sets two triggers at once so that hitting either one places that leg and cancels the other. The fallback is to place two separate orders yourself, a stop-loss and a limit target, and cancel whichever remains when one fills.
This guide shows the GTT OCO route step by step on an open NRML futures position, the manual two-order alternative, and the limitations that separate a GTT OCO from the old bracket order: execution is not guaranteed, the trigger fires only once, and there is no trailing stop-loss.
Conflict-of-interest disclosure. This guide is published by the WebNotes Editorial Team for informational purposes and is written independently. WebNotes operates a Zerodha account-opening referral programme, disclosed on pages that carry a referral link; this guide does not carry it and earns no referral commission on the procedure described here.
Step-by-step procedure
The numbered box at the top of this guide gives the sequence. The detail below expands the parts that catch traders out: choosing OCO over a single GTT, placing the limit prices to improve fills, and matching the product so a triggered leg closes rather than opens a position.
1. Open the futures position first
A GTT OCO attaches to a position you already hold; it does not enter the trade for you. Place and fill your futures buy or sell under NRML on Kite, then confirm it shows in the positions panel. Settle on the exact lot quantity, because both OCO legs must match that quantity to square the position cleanly.
2. Open a GTT on the same contract
From the contract’s order window choose GTT as the order type, or open the GTT section on Kite and create a new GTT on that futures symbol. Select OCO (one-cancels-other) rather than the single-trigger GTT. OCO arms two triggers at once; single arms only one. For a position you want bracketed on both sides, OCO is the correct choice.
3. Set the stop-loss leg
Enter the trigger on the losing side of your entry. For a long futures position, the stop-loss trigger sits below the current price; for a short, above it. Set the limit price of the stop leg just past the trigger, below the trigger for a sell stop, so the order is marketable when it fires and is more likely to fill in a fast move. A stop limit placed exactly at the trigger can be left behind if the price gaps through.
Zerodha’s own worked example uses Infosys futures at a current price of Rs 1,822.15: a stop-loss sell with trigger at Rs 1,730 sits well below the entry, defining the loss boundary.
4. Set the target leg
Enter the target trigger on the profit side: above the current price for a long, below for a short. Again place the limit beyond the trigger, above the trigger for a buy, below for a sell, so the triggered order fills. In the same Infosys example, the target sell carries a trigger at Rs 1,910, above the current Rs 1,822.15, so the position closes in profit if price reaches it. The further the limit sits from the trigger in the executable direction, the higher the fill probability.
5. Match quantity and product to the position
Set the OCO quantity to the same number of lots as your open position, and use the NRML product so a triggered leg squares off the carryforward futures rather than opening a new leveraged position. A mismatched quantity leaves a residual position open after one leg fires; the wrong product can open a fresh position instead of closing the old one.
6. Confirm and verify in the GTT book
Submit the OCO and check that it appears as active in the GTT tab. Only one leg can ever trigger: when the market reaches the target or the stop, that leg is placed and the exchange cancels the other automatically. Verify the active status, because a GTT that was not accepted offers no protection at all.
GTT OCO versus the discontinued bracket order
A GTT OCO reproduces the target-and-stop shape of a bracket order but differs on execution and dynamics. Knowing the gaps prevents a false sense of protection.
| Feature | Bracket order (discontinued) | GTT OCO |
|---|---|---|
| Target and stop together | Yes | Yes |
| Execution on trigger | Order placed in the live book | Limit order placed; fills only if the limit is reached |
| Trailing stop-loss | Yes | No (trailing is algorithmic trading) |
| Re-arming | Continuous within the session | One-time; a triggered-but-unfilled leg does not re-arm |
| Validity | Intraday only | Up to one year, carried across sessions |
| Product | Intraday leverage product | NRML or CNC; attaches to a carryforward position |
The bracket order, covered in Zerodha bracket order discontinuation , pushed orders straight into the live book and trailed the stop. The GTT OCO instead arms a contingent trigger that, once hit, places an ordinary limit order. That is why a GTT OCO can trigger yet not fill, and why you should place each leg’s limit beyond its trigger.
The manual two-order alternative
If you prefer not to use GTT, place the target and stop yourself as two independent orders on the position, then manage them by hand. Place a limit order at the target price on the closing side, and an SL or SL-M stop on the same closing side at the stop price, both for the same lot quantity under NRML. The discipline this demands is cancellation: when one order fills, you must remember to cancel the other, or the surplus order can execute later and open an unintended reverse position. This is exactly the manual housekeeping that OCO automates, which is why the GTT route is the cleaner default for most traders.
When placing two manual orders, set the stop and target so they do not cross any other resting order of yours in the same contract, since NSE’s self-trade prevention check will cancel one of two of your own orders that would match against each other.
What can go wrong and limitations
To adjust either leg as the trade moves, use how to modify a GTT on Kite ; to remove the bracket entirely, see how to delete a GTT on Kite . For the underlying mechanics of the GTT facility, read the GTT order on Zerodha wiki.
See also
- Zerodha
- Kite (Zerodha)
- GTT order on Zerodha
- GTT buy one-cancels-other (OCO) on Zerodha
- How to place a GTT order on Kite
- How to modify a GTT on Kite
- How to delete a GTT on Kite
- Zerodha bracket order discontinuation
- Cover order (CO) on Zerodha
- SL-M order on Kite
- Limit order on Kite
- Market order on Kite
- Trigger vs limit price
- NRML product code
- MIS product code
- CNC product code
- Self-trade prevention and cover orders
- Order validity types
- Disclosed quantity orders
- Iceberg order on Kite
- Intraday auto-square-off timings (MIS)
- National Stock Exchange
- SEBI
- How to fix RMS rejection on Zerodha
External references
- Zerodha support: Can I place target and stop-loss orders for open futures positions?
- Zerodha support: How to place a buy GTT one-cancels-other (OCO) order?
- Zerodha support: What are Good Till Triggered (GTT) order types?
- Zerodha Z-Connect: Introducing GTT, Good Till Triggered orders
- Zerodha GTT terms and conditions
References
- Zerodha support, Can I place target and stop-loss orders for open futures positions? (as on 21 June 2026).
- Zerodha support, How to place a buy GTT one-cancels-other (OCO) order? (as on 21 June 2026).
- Zerodha Z-Connect, Introducing GTT, Good Till Triggered orders (bracket order discontinuation, 2020).
- Zerodha GTT terms and conditions (one-time validity, no trailing stop, execution not guaranteed).
- NSE, FAQs on PAN-based Self Trade Prevention Check (STPC) Mechanisms (self-trade cancellation of crossing orders).