By Scalpel Team. , updated . 7 min read.

In short
An IBKR bracket order is three linked orders: your entry (the parent), a sell limit above it to take profit, and a sell stop below it to cap the loss. The two exits only go live once the entry fills, and they are one-cancels-all: when one fills, IBKR cancels the other. In TWS Mosaic, build the entry in Order Entry, click Advanced, then Attach, and tick Bracket. The catch for pre-market traders: the stop leg is a stop order, and IBKR stop orders only trigger in regular trading hours.
A bracket order is the closest thing TWS has to "set it and forget it": one ticket that enters, protects and takes profit. It is a good tool for regular-hours trades you cannot watch every second. It is a poor tool for the pre-market, for reasons that are easy to miss until the morning it matters. This post covers how to place an IBKR bracket order step by step, how the OCA link behaves, how to attach a bracket to a position you already hold, and where its limits are. Every TWS step was checked against IBKR's own guides on October 22, 2026.
Scalpel is independent and not affiliated with or endorsed by Interactive Brokers.
IBKR describes a bracket as an order "bracketed" by two opposite-side orders: "A BUY order is bracketed by a high-side sell limit order and a low-side sell stop order" (IBKR: bracket orders). For a long trade:
| Leg | Order | Role | Becomes active |
|---|---|---|---|
| Parent | BUY, usually LMT | Your entry | When you transmit |
| Profit-taker | SELL LMT above entry | Takes the gain | When the parent fills |
| Stop loss | SELL STP below entry | Caps the loss | When the parent fills |
The two exits match the parent's quantity. IBKR's lesson on bracket orders for TWS Mosaic puts the key rule plainly: the two child orders "become active when the parent order executes, but only one of them can be triggered, and if it does, the other is immediately cancelled."

Our example: buy 400 ABCD at 5.50, stop at 5.38 (12 cents, $48 of risk), target at 5.74 (24 cents, a 1:2 risk reward ratio).
Select ABCD in the Mosaic Order Entry panel and click Buy. Enter the Quantity (400), pick LMT in Order Type, set the limit price (5.50) and the time in force. Do not submit yet.
Click Advanced to the right of the time in force field to show more order options, then click Attach to reveal the bracket choices.
Check Bracket. The Profit Taker and Stop Loss boxes tick themselves, and the panel shows +Bracket.
Enter the profit-taker limit price (5.74) and the stop price (5.38). Each leg has its own time in force; change them if you need to. IBKR's default offset for both legs is 1.00 from the price, which is useless on a $5 stock, so always check these two numbers.
Click Submit. The Order Confirmation window lists all three orders. If they match what you meant, click Transmit. The two exits wait in your orders until the entry fills.
IBKR's own walkthrough of the same steps is short and clear; watch it once if you have never built one.

In Classic TWS the route is different: create the buy order line, then right-click the order row and choose Attach > Bracket Order. Enter the limit price on the attached sell limit and the trigger in the Aux. Price field of the attached stop, then transmit.
For a position you already hold, use the Exit Strategy tool. In Mosaic, go to the Monitor panel (Classic: the Portfolio tab), right-click the position and choose Trade > Create Target/Stop Exit Bracket. Enter the target and stop, then click Preview Orders to check and transmit (IBKR: exit strategy).
If you bracket every trade, set the defaults once instead of fixing two prices per order. In Global Configuration > Presets > Stock, the order preset has Target Order (Profit-taker) Settings and Attached Stop Order Settings (IBKR: order preset values):
| Preset field | What it does | A scalping setting |
|---|---|---|
| Target Order Type | The profit-taker's type; None creates no target | LMT |
| Target Limit Price | Relative to the parent, by an amount or percent | Parent + 0.24 (your 2R) |
| Apply offset to parent | Measures from the actual fill, not the order price | Ticked |
| Attached stop Order Type | The stop leg's type; None creates no stop | STP, or STP LMT for outside RTH (below) |
| Stop Price | Relative to the parent | Parent - 0.12 (your 1R) |
| Stop-limit Price | Only for stop-limit legs | 10 to 20 cents under the stop |
IBKR notes you enter these as if the parent were a buy; for a sell parent the values flip.
The two exits are linked as a one-cancels-all (OCA) group. IBKR's TWS order types guide sets out the rules worth knowing:
API users have three OCA types to choose from: 1 cancels the rest "with block," 2 reduces them in proportion with block, and 3 reduces them with no block. "With block" adds overfill protection: only one order in the group is routed at a time (IBKR: OCA types). In the API, a bracket is sent with Transmit false on the parent and the first child, and true on the last child, so nothing fills before the whole bracket arrives.
This is where most bracket problems start. The two exit legs are different order types, and they behave differently outside regular trading hours (RTH, 09:30 to 16:00 ET):
| Leg | Before 09:30 with outside RTH ticked | Before 09:30 without it |
|---|---|---|
| Profit-taker (LMT) | Can fill in the pre-market | Waits for the open |
| Stop loss (STP) | Waits for the open | Waits for the open |
| Stop loss (STP LMT) | Can trigger and fill, if outside RTH is ticked on that leg | Waits for the open |
The reason is IBKR's stop rules. On the preset page, with the outside-RTH box unchecked, "stop orders will not trigger outside of regular trading hours." When a trader on IBKR Campus asked whether a bracket's stop could execute outside RTH, IBKR answered that stop orders on stock positions "will only trigger during regular trading hours" and that extended hours is "only available for Limit orders." IBKR's description of its default Last trigger method adds that US stock stops trigger only while the primary exchange is holding regular hours.
So a bracket bought at 07:45 can take profit at 08:10, but its plain stop does nothing until 09:30. If the stock flushes at 08:00, you are unprotected, and at the open the stop becomes a market order wherever the stock is. A stop-limit leg with outside RTH ticked can do better, but in a thin book it can be jumped: price gaps through the limit and the order sits unfilled. We walk through that failure, with the order book, in why your stop loss did not trigger in the pre-market, and compare the two order types in stop-limit vs stop-market.
Scalpel does not use brackets, on purpose. Every entry arms three levels in the app: a working stop, a wider catastrophe net under it and a take-profit at 2R by default. None of them rests at IBKR. Scalpel watches every trade itself, and when price trades through a level it sends one exit for the whole position: in LIVE, a sell limit 5 cents under the last trade, flagged for outside regular hours, so the exchange accepts it at 07:52 as at 10:52, and re-priced if the market runs away (how stops work, stops in the pre-market).
Moving a level is a drag on the chart, with no order to modify (drag stops and targets). Scaling out never leaves an oversized exit, because every sell is capped to the shares you hold. The trade-off is real, though: Scalpel's stops only work while Scalpel runs with a live feed, and no exit price is guaranteed. If you need protection while your computer is off, during regular hours, a broker-held bracket is the better tool. More on that design choice in why Scalpel's stops live in the app.

The video above shows Scalpel's stop, net and target on a live chart. For the rest of the risk rules around any exit, see the pillar on day trading risk management.
Trading carries a significant risk of loss. Nothing here is financial advice.