Skip to content

GuidesBroker and TWS

11 min read

Setting a stop loss on IBKR that actually fires

Attach the stop to the entry, choose stop or stop-limit on purpose, get DAY vs GTC and outside-RTH right, and keep it at the broker, not in your head.

An illustration, not a screenshot: a stop that is a real order, attached to the entry and resting at the broker. The price path is made up.

A drawing of one long SPX 7710 call with a stop attached: a price line walks down to a dashed green line marked "STP 3.95 · DAY · at the broker" and ends on it. The words over it read "A stop that fires."

The short answer

A stop that fires is one you attached to the entry, so it exists from the moment you are filled; a plain stop rather than a stop-limit, unless you have a specific reason to accept a miss; a time in force that outlives the trade; and the outside-hours attribute set the way you think it is set. Most "my stop didn't trigger" stories on Interactive Brokers come down to one of four things: the order was DAY and the session ended, it was a stop-limit and price went straight through the limit, it was a stock stop outside regular trading hours, or it was never placed because the trader meant to and then did not. The rest of this is how to remove each of those.

Why did my stop not trigger?

Usually because the order that was resting was not the order you thought it was. Four cases cover most of it, and each is a setting you can read on the order line.

  1. It was a DAY order and the session ended. The stop was cancelled at the close and the position stayed. See DAY or GTC.
  2. It was a stop-limit and price went through the limit. The stop triggered; the limit order it became did not fill. See stop or stop-limit.
  3. It was outside regular trading hours. A plain stop on a stock does not trigger then. See after hours.
  4. The trigger never saw the price you saw. A stop on a US option triggers on the bid and ask by default, not on the last trade, so a print through your price on the chart is not a trigger. See what triggers the stop.

The fifth case is not a setting: the stop was never placed. Open the Orders panel and look for it before you assume it is there. If it was there and still did not save you, the seven reasons a stop loss does not trigger are their own guide. If it was sent and refused, the message names who refused it, and what each IBKR rejection message means is its own guide.

Should I use a stop or a stop-limit?

IBKR's definitions, from its order types guide. A Stop is "an instruction to submit a buy or sell market order if and when a user-specified stop trigger price is attained or penetrated." A Stop Limit is "an instruction to the system to submit a buy or sell limit order when the user-specified stop trigger price is hit." The Mosaic lesson puts the difference plainly: a stop becomes marketable and is intended to fill, regardless of price, once the trigger price is penetrated, whereas with a stop-limit "you may enter a Limit price below which the order will not execute", and if price goes through that limit you can miss the market altogether.

So: a protective stop's job is to get you out. A plain stop does that at whatever price is there, which on a fast day can be worse than you hoped. A stop-limit protects you from a bad print at the cost of maybe not protecting you at all. For a liquid instrument where the loss you are guarding against is the position running away, use the stop. Use the stop-limit when you have decided, in advance and in writing, that you would rather hold through a spike than sell into it, and you accept what that means.

How do I attach a stop to my entry in TWS?

Attach it so it is born with the position. In Mosaic:

  1. Build the entry in the Order Entry panel and click Advanced.
  2. Click Attach Stop Loss/Profit Taker/Bracket.
  3. For a stop only, check the Stop Loss box. In the STOP field choose the type (stop, stop limit or trailing stop). In the STP PRC field enter the stop price. In the DAY field set the time in force.
  4. For a bracket, check the Bracket box; the Profit Taker and Stop Loss boxes are checked for you. Enter the profit-taker limit and the stop price, set each time in force, and click Submit.

A bracket is, in IBKR's words, "an order type designed to help limit your loss and lock in a profit by 'bracketing' an order with two opposite-side orders." The Mosaic lesson explains the mechanics: "The two opposing 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." Through the API the same thing is done by holding the parent and profit-taker untransmitted until the stop is sent, so all three go together and nothing executes half-built. What the group's cancel rule can do to your stop on a partial fill is in how a TWS bracket's OCA group can cancel the stop.

Attached beats separate for a dull reason: a stop you place after the fill is a stop you can forget to place, and the gap between "filled" and "protected" is exactly the moment you are busiest.

What triggers the stop: last, bid or ask?

For many products IBKR simulates the stop on its own servers rather than at the exchange, and triggers it by a method you can set. From the API documentation: for stocks, futures, options outside the US and most other products the default is the Last price; for US options it is Double bid/ask; for CASH it is Bid/ask. You can change the method per order or in the order preset. The same page adds a line worth knowing: "These trigger methods only apply to stop orders simulated by IB. If a stop-variant is handled natively, the trigger method specified is ignored."

Why care? A last-price trigger on an illiquid name can fire on one odd print. A bid/ask trigger will not fire on a print but can fire on a wide quote. Neither is wrong. Know which one you have. On thinkorswim the same choice is called STD, Mark or Bid, and the thinkorswim stop guide works one quote through all three.

DAY or GTC?

DAY orders are cancelled at the end of the session. The Mosaic GTC lesson says it from the trader's side: with DAY, "any orders I create, but don't execute, will be cancelled by the system at the end of the trading session." GTC "will continue to work until the order fills or is canceled", with one catch from the same lesson: GTC orders "will automatically be cancelled at the end of the calendar quarter after the current one is over."

If you are flat by the close, DAY is fine and it tidies up after you. If a position ever stays overnight, a DAY stop leaves it naked at 09:30 tomorrow. That is the single most common way a "stop" turns out not to exist. Make the stop GTC when the position can outlive the day, and put the quarterly expiry in your calendar.

Why didn't my stop trigger after hours?

Because for stocks it was never going to. The attribute in the order preset is called "Allow order to be activated, triggered or filled outside of regular trading hours", and IBKR's description says: "If unchecked, trading hours are determined by the opening/closing times of the order destination, stop orders will not trigger outside of regular trading hours." IBKR's lesson on extended hours adds that "Only Day Limit orders are allowed in the US overnight trading session" and that "Stop Limit orders can be set to work Outside RTH." A staff reply on the Mosaic stop lesson is blunter still: extended hours is only available for limit orders.

Practically: a plain stop on a stock is a regular-hours instrument. If you hold stock overnight and want protection in the pre-market, that is a stop-limit with the outside-RTH attribute, which brings back the miss risk from the first section. There is no free option here. Decide which risk you are taking and write it in the plan.

How does a trailing stop work at IBKR?

A trailing stop sell order, per the guide, "sets the initial stop price at a fixed amount below the market price as defined by the Trailing Amount." Then: "As the market price rises, the sell stop price rises one-to-one with the market but always at the interval set initially by the trailing amount. If the stock price falls, the stop price remains the same. When the stop price is hit, a market order is submitted." IBKR's lesson example: last price $15, trail $1, stop $13; the stock rises to $17 and the stop is now $16; if the stock falls from there, the order triggers at $16.

Two things to keep straight. A trailing stop is still a stop underneath, with all of the above about triggers and hours. And it only ever moves toward price, never away, which is the one property of a stop that a human hand cannot be trusted with.

Why does a stop at the broker beat a mental stop?

Because the person who will be asked to honour the mental stop is not the person who set it. Odean's 1998 study of 10,000 accounts at a discount brokerage found investors sold their winners readily and held on to their losers, a pattern he could not explain by rebalancing, costs or tax. Kahneman and Tversky's prospect theory, the paper behind the phrase "loss aversion", describes a value function steeper for losses than for gains, which is why a stop at the price you agreed feels like a decision to lose rather than the end of a decision already made.

A resting order at IBKR does not feel anything. It also survives your laptop sleeping, your wifi dropping and your attention wandering to a second chart. The mental stop survives none of those.

How do I stop moving my stop?

By deciding where it may go before the trade is on, and making the wider direction the one you cannot reach. A stop moved toward the price is a trailing stop done by hand. A stop moved away is a bigger trade than the one you sized, taken at the moment you are least able to judge it.

  1. Write the rule in one line before the open: how far under the entry the stop goes, and that it does not get wider.
  2. Size from that distance, so the stop being hit costs what you agreed. A stop that costs more than you can stand is the one that gets moved.
  3. Use an order that only moves one way. A trailing stop never moves away from price.
  4. Count the moves. Write each one in the journal the same day; a widened stop nobody counts gets widened again.

An illustration. The prices are invented.

The app's trade chart for one open call, in R: the price line dips toward a dashed gold stop line labelled "stop 3.95 · -1.0R", then recovers. Below it, a grey dotted line keyed as this guide's note, "widened to 3.40", with an arrow back up to the stop.
A stop in the app: a working order at the broker, drawn on the trade in price and in R. The grey line and arrow are this guide's note: on the default setting, a stop widened past your rule is put back at it.

Where Degen Pro fits

Degen Pro is a Mac app for Interactive Brokers that keeps your stop from sitting wider than the rule you wrote down and never loosens it itself; cancel it by hand and the app puts it back and counts the cancel; on the strictest setting the third time it puts a stop back it locks the broker once you are flat, nothing is sold for it, and no lock arrives switched on. Selling part of a position that has a stop attached means, in Trader Workstation, cancelling the stop, selling, working out what is left and placing a new stop by hand while price moves; here it is one key, and the stop never comes down: PROTECT, peel a runner, flatten everything. PROTECT sells a share you choose, half unless you change it, resizes the stop first, and once the trade is far enough ahead moves it to break-even or a margin above it that you set. The keys can sit on an Elgato Stream Deck, with a lamp that says whether the exit will actually work. Every stop that held or moved is counted in the journal. It can place an entry you choose — calls and puts on SPX and SPY, at the ask, with the stop going on straight after — and gives no signals; the stop and the keys need Interactive Brokers, on a Mac.

An illustration. The position is invented.

Three drawings of the top of the app's floating keys window for 2 SPX 7710 calls, stacked: "Long 2" with a gold ring and "no stop held"; "Long 2 · held"; and "Long 2 · held" with a black dot, "protected" and its tooltip, "The stop is at or above your entry. This trade cannot finish red."
The line above the app's exit keys: whether a stop is held under the position, and when it is at or above the entry. The numbered labels are this figure's.

Before you click Transmit

  1. The stop is attached to the entry, not written on a sticky note.
  2. It is a stop, not a stop-limit, unless you chose the miss risk on purpose.
  3. Time in force outlives the position: DAY if you are flat by the close, GTC if not.
  4. If the position can be open outside regular hours, you know the stop is not working then, or you have made it a stop-limit with the outside-RTH attribute.
  5. The trigger method is the one you expect for this product.
  6. The stop price came from the chart and your risk per trade, and the size came from the stop, not the other way round.

Every way out of a position in TWS, and what each does to the stop, is on one page, each marked documented, reported or untested.

None of this is investment advice. Trading involves risk of loss, and a stop reduces that risk without removing it.

Questions people ask

Why didn't my IBKR stop loss trigger?

Usually one of four things: it was a DAY order and the session ended, it was a stop-limit and price went through the limit, it was a stock stop outside regular hours, or it was never placed. Check the order log before you blame the broker.

Stop or stop-limit for a protective stop?

A stop becomes a market order when triggered and is intended to fill regardless of price. A stop-limit becomes a limit order and can miss the market entirely. For a stop whose job is to get you out, that difference matters.

Do stop orders work outside regular trading hours at IBKR?

Not for stocks, unless the order carries the outside-RTH attribute and the type allows it. IBKR's own lesson says only Day Limit orders are allowed in the US overnight session and that stop-limit orders can be set to work outside RTH.

How long does a GTC stop last?

Until it fills or you cancel it, with one catch: IBKR cancels GTC orders at the end of the calendar quarter after the one they were placed in.

Does a trailing stop ever move away from price?

No. IBKR's guide says the stop moves one-to-one with the market in your favour and, if the stock price falls, the stop price remains the same. When hit, a market order is submitted.

Sources

  1. IBKR Guides: Order Types
  2. IBKR Guides: Stop
  3. IBKR Guides: Stop Limit
  4. IBKR Guides: Trailing Stop
  5. IBKR Guides: Bracket
  6. IBKR Guides: Time in Force for Orders
  7. IBKR Guides: Advanced Button (Attach Stop Loss/Profit Taker/Bracket)
  8. IBKR Guides: Define Order Preset Value (outside RTH attribute)
  9. IBKR Campus: Bracket Orders for TWS Mosaic
  10. IBKR Campus: Stop and Stop Limit Orders for Mosaic
  11. IBKR Campus: Trailing Stop
  12. IBKR Campus: Trading Outside Regular Trading Hours (RTH)
  13. IBKR Campus: Mosaic Good-til-Cancelled (GTC) Order Type
  14. IBKR Campus glossary: Stop Order
  15. TWS API: Trigger Methods
  16. TWS API: Bracket Orders
  17. Odean, Are Investors Reluctant to Realize Their Losses? (1998)
  18. Prospect theory (Kahneman and Tversky, 1979)