Skip to main content

Place Algo Order

Place Algo Order

Place a strategy/algo order. The order type is determined by ordType.

Request URL

POST /deepcoin/v2/trade/order-algo

Common Request Parameters

Field NameRequiredTypeDescription
instIdtruestringProduct ID
ordTypetruestringAlgo order type: conditional / tp_sl / move_order_stop
conditionalfalseobjectRequired when ordType=conditional. See conditional parameters below
tpSlfalseobjectRequired when ordType=tp_sl. See TP/SL parameters below
moveOrderStopfalseobjectRequired when ordType=move_order_stop. See move order stop parameters below

ordType=conditional (Conditional Order)

conditional parameters:

Field NameRequiredTypeDescription
tdModetruestringTrading mode: cross / isolated / cash
sidetruestringOrder side: buy / sell
posSidetruestringPosition side (required for swaps): long / short
sztruestringOrder size
triggerPxtruestringTrigger price
triggerPxTypefalsestringTrigger price type: last / index / mark, default last
orderTypetruestringOrder type after trigger: market / limit
orderPxfalsestringOrder price after trigger, required when orderType=limit
mrgPositiontruestringPosition mode (required for swaps): merge / split
closePosIdfalsestringPosition ID to close, required in split mode
tpTriggerPxfalsefloat64Take-profit trigger price after opening
tpTriggerPxTypefalsestringTake-profit trigger price type: last / index / mark
tpOrdPxfalsefloat64Take-profit order price, -1 for market price
slTriggerPxfalsefloat64Stop-loss trigger price after opening
slTriggerPxTypefalsestringStop-loss trigger price type: last / index / mark
slOrdPxfalsefloat64Stop-loss order price, -1 for market price

Request example:

{
"instId": "ETH-USDT-SWAP",
"ordType": "conditional",
"conditional": {
"tdMode": "cross",
"side": "buy",
"posSide": "long",
"sz": "1",
"triggerPx": "1800",
"triggerPxType": "last",
"orderType": "limit",
"orderPx": "1795",
"mrgPosition": "merge",
"tpTriggerPx": 2200,
"tpOrdPx": -1,
"slTriggerPx": 1700,
"slOrdPx": -1
}
}

ordType=tp_sl (Position Take-Profit / Stop-Loss)

tpSl parameters:

Field NameRequiredTypeDescription
tdModetruestringMargin mode (required for swaps): cross / isolated
posSidetruestringPosition side (required for swaps): long / short
mrgPositiontruestringPosition mode (required for swaps): merge / split
posIdfalsestringPosition ID, required in split mode
szfalsestringTP/SL size. If omitted, applies to the entire position
tpTriggerPxfalsefloat64Take-profit trigger price. At least one of tpTriggerPx or slTriggerPx is required
tpTriggerPxTypefalsestringTake-profit trigger price type: last / index / mark
tpOrdPxfalsefloat64Take-profit order price, -1 for market price
slTriggerPxfalsefloat64Stop-loss trigger price. At least one of tpTriggerPx or slTriggerPx is required
slTriggerPxTypefalsestringStop-loss trigger price type: last / index / mark
slOrdPxfalsefloat64Stop-loss order price, -1 for market price

Request example:

{
"instId": "ETH-USDT-SWAP",
"ordType": "tp_sl",
"tpSl": {
"tdMode": "cross",
"posSide": "long",
"mrgPosition": "merge",
"sz": "1",
"tpTriggerPx": 2200,
"tpTriggerPxType": "last",
"tpOrdPx": -1,
"slTriggerPx": 1700,
"slTriggerPxType": "last",
"slOrdPx": -1
}
}

ordType=move_order_stop (Trailing Stop)

moveOrderStop parameters:

Field NameRequiredTypeDescription
posSidetruestringPosition side: long / short
triggerPxtruestringActivation price. -1 to activate immediately, positive value to set activation price
retracePointtruestringRetracement spread

Request example:

{
"instId": "ETH-USDT-SWAP",
"ordType": "move_order_stop",
"moveOrderStop": {
"posSide": "long",
"triggerPx": "-1",
"retracePoint": "50"
}
}

Response Parameters

Field NameTypeDescription
algoIdstringAlgo order ID (returns empty for move_order_stop)
sCodestringResult code, 0 means success
sMsgstringResult message

Response Example

{
"algoId": "1000595855275418",
"sCode": "0",
"sMsg": ""
}