Trigger basis and execution
Every TP/SL order has two independent choices:- Trigger price source — the mark price or the last traded price.
- Execution type — market or limit once the trigger fires.
triggerProtect per contract: when last price deviates from mark by more than the configured threshold, last-price triggers temporarily fall back to mark-price triggers.
Three ways to configure TP/SL
1. Attached to a new order (parent-child)
When you place a new order, you can attach TP and/or SL as child orders. The children are strongly bound to the parent’s lifecycle:- If the parent is cancelled (before or after partial fill), the children are cancelled.
- Children only activate once the parent is fully filled.
- Once activated, TP and SL form a standard OCO pair.
2. Position-level, specific quantity
On an existing position, you can add a TP and/or SL with a user-specified quantity (config amount). Linkage depends on timing:
- Placed in the same action. The TP and SL are linked as an OCO pair.
- Placed separately. They are independent. Each triggers independently and does not cancel the other.
3. Position-level, whole position
On an existing position, you can add a TP and/or SL that targets the entire position. The two orders are always and automatically linked as an OCO pair, regardless of whether they were placed together or separately. At most one whole-position TP and one whole-position SL can coexist per position. Mixed configurations (one whole-position TP with several partial TP/SL orders) are permitted but only the whole-position orders are OCO-linked.Dynamic sizing
Position-level TP/SL targeting the whole position does not lock a specific quantity at setup. The close quantity is determined by the position size at the moment the trigger fires. If you manually add or reduce the position after setting TP/SL, the triggered order automatically sizes to your current position. Once a TP/SL trigger converts into a limit order sitting on the book, its quantity is locked and no longer tracks subsequent position changes.OCO behavior
When a TP/SL pair is linked (OCO), the two orders coordinate in two modes: Mode A — Cancel on full fill. When one side (say TP) is triggered and fills completely, the other side (SL) is cancelled automatically. Mode B — Cancel on reverse trigger. When one side is triggered into a limit that does not fill completely, and then the opposite side’s condition is met, the following happens:1
Cancel the partially-filled limit
The unfilled portion of the first triggered order is cancelled.
2
Trigger the opposite side
The newly triggered SL/TP generates its own new order. If it was a whole-position TP/SL, the quantity is derived from the current position size at that moment, which may be different from the original trigger’s quantity.