IBKR Conditional REL Stoploss Order
So I've heard of this several times for awhile and haven't been super clear how exactly to set it up. It's definitely not invented by me, I just happen to learn the details from someone in discord, cdacs. Since then I've also started using these stoploss, in fact I actually coded it into my bot.
The thing about this REL order is the documentation from IBKR is pretty bad. Here's what they have.
- https://www.interactivebrokers.com/php/whiteLabel/Making_Trades/Create_Order_Types/relative.htm#:~:text=A Relative order is an,or you cancel the order
- https://www.interactivebrokers.com/en/trading/orders/pegged-to-primary.php
A Relative order is an advanced order type whose price is dynamically derived from a combination of the best bid/ask and a user-defined offset amount. The order is submitted as a limit order and modified according to the pricing logic until it is executed or you cancel the order. You can also set an optional price cap, which keeps your order from executing at a price inferior to the cap.
I read this many times, never really understood it until discussing through the details with cdacs. Maybe let me try to explain.
IBKR REL Order + Conditional Order
This REL order alone is not like a STOP order which is meant for stoploss. A REL Order is basically a LMT order that aggressively chases the bid/ask according to your offset. Once this order is submitted and goes live, it will try hard to fill the order.
Also note that REL Orders only work for single leg position, it does NOT work for spread combo position.
So let's use an example, you have a put credit spread combo position of $1 credit. You want to use conditional REL Order to set a stoploss instead of a STP order. Your target stoploss trigger is $3, means if the price of that short leg goes to $3 it will trigger to exit. REL Order offset of $0.50, limit at $10.
Notice there's 2 parts to it.
- Conditional Order - This is the one preventing the REL Order from going Live and this is the one that allows you to set the trigger price of $3.
- REL Order - This is the aggressive chasing LMT order.
At this point you'll notice the difference between this and a STP order is, this Conditional sits on the broker, when price condition is met the REL order is submitted to chase bid/ask aggressively while a STP order sits on the exchange.
So when the short leg's price reaches $3, the conditional order is activated. The REL order is Live, at this point the initial order is basically similar to a LMT order at $3.5 (this figure is estimated because it can vary depending on the actual current bid/ask price + offset amount). If it's not filled (IBKR documentation mentioned 5 seconds), it will continue to add the offset to the LMT price. Means it will become $4. This will keep going on until the final limit price you set, as mentioned above $10.
As for the 5 seconds interval update, I'm still not 100% sure how accurate is this as another user in discord mentioned before he sees several updates of the price within a second. We're still trying to figure this out too, if you have any details on this do share with me.
Not sure if I explained well, that's how I'm understanding it so far. If there's anything you noticed that I'm not understanding it right do also feel free to let me know.
Guide to setup Conditional REL Order in IBKR TWS
I'll use an example similar to how I explain above, starting with a short spread combo position. Follow along, steps described below each screenshot.

Step 1
Expand that position in your portfolio.
Right Click > Trade > Order Ticket

Step 2
Order Ticket screen should appear.
First thing is to change the Order Type to REL.

Step 3
Set the Limit Price and Offset Amount accordingly.

Step 4
Click on the Conditional Tab
Click Add on the right side
Choose Price
Click Next

Step 5
Type SPX in the Underlying field and press Enter
Click Options

Step 6
A small option chain will appear, make sure you go to the right expiry.
Click on the strike for this order, in this example its the 4180 Call.

Step 7
You'll see the Condition got updated.
Change the Price to the amount you want it to trigger, in this example $3.

Step 8
This is what it looks like on the Conditional tab.
Describing that if the default price of SPX OPT is >= 3.00, it will set the REL Order live.

Step 9
Go back to Basic tab, this is what it will look like. Nothing changed, just reviewing.
Click Transmit

Step 10
This is how it looks like in your Activity > Live window.
Conclusion
Personally, I haven't been using this long enough. Previously I was just using STP Market Orders for my stoplosses. I did encounter quite a few bad slippage on that, ranging from $0.5-4 slippage.
So far I've only started using this Conditional REL Order for my stoplosses. Average slippage so far has been around $0.15-0.20. Not conclusive yet as it's only a few days since I started using.
Hope this helps anyone who's also confused about Conditional REL Order for stoploss.
Member discussion