Take Profit Stop Loss (TPSL) orders are supported in FIX 5.0 with the Create a new order REST API.TPSL orders allow users to set predefined profit and loss levels simultaneously for their position.When an asset price reaches one of the target prices, the position is closed with a limit order. If one of the orders is triggered, the other order is canceled automatically. An order can only have one TP/SL on one side.
This TPSL sell order for BTC-USD places a live sell limit order at price 9785Side=2|Price=9785|StopLimitPx=8245|StopPx=8500
If the price falls below 8500 and no part of this limit order has been filled, it will be repriced from 9785 to 8245.
If this limit order is filled or partially filled at 9785, then it will never be repriced.
This differs from regular stop orders where a stop order is NOT live until the price is traded through the StopPx. The direction of the trigger is determined by the Side of the order and thus, TriggerPriceDirection is NOT accepted.
If the stop is triggered and the order is repriced, an ExecutionReport is returned with a RestatementReason of 3 for “Repricing of order”:<- MsgType=8|OrdType=O|ExecType=D|ExecRestatementReason=3|Price=8245...
TPSL orders can be modified using OrderCancelReplaceRequest. These parameters are specific to TPSL order modifications in addition to the standard OrderCancelReplaceRequest fields.The modified Price, StopPx, and StopLimitPx values must adhere to the Price Rules defined above.
Triggered Orders Cannot Be ModifiedOnce either the take profit or stop loss leg of a TPSL order has triggered, the order cannot be modified. Modification requests for triggered orders will be rejected.
Tag
Name
Type
Req
Description
40
OrdType
Char
Y
Must be O (TPSL).
44
Price
Decimal
Y
The new take profit price.
99
StopPx
Decimal
Y
The new stop loss trigger price.
3040
StopLimitPx
Decimal
Y
The new limit order price if stop loss triggers.
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.