杠杆账户OTO下单 (TRADE)
接口描述
发送一个新的 OTO 订单。
- 一个 OTO 订单(One-Triggers-the-Other)是一个包含了两个订单的订单列表.
- 第一个订单被称为生效订单,必须为
LIMIT
或LIMIT_MAKER
类型的订单。最初,订单簿上只有生效订单。 - 第二个订单被称为待处理订单。它可以是任何订单类型,但不包括使用参数
quoteOrderQty
的MARKET
订单。只有当生效订单完全成交时,待处理订单才会被自动下单。 - 如果生效订单或者待处理订单中的任意一个被单独取消,订单列表中剩余的那个订单也会被随之取消或过期。
- 如果生效订单在下订单列表后立即完全成交,则可能会得到订单响应。其中,生效订单的状态为
FILLED
,但待处理订单的状态为PENDING_NEW
。针对这类情况,如果需要检查当前状态,您可以查询相关的待处理订单。 OTO
订单将2 个订单添加到未成交订单计数,EXCHANGE_MAX_NUM_ORDERS
过滤器和MAX_NUM_ORDERS
过滤器中。
HTTP请求
POST /sapi/v1/margin/order/oto
请求权重
6(UID)
请求参数
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
isIsolated | STRING | NO | 是否逐仓杠杆,"TRUE", "FALSE", 默认 "FALSE" |
listClientOrderId | STRING | NO | 整个订单列表的唯一ID。 如果未发送则自动生成。 仅当前一个订单列表已填满或完全过期时,才会接受含有相同 listClientOrderId 值的新订单列表。listClientOrderId 与 workingClientOrderId 和 pendingClientOrderId 不同。 |
newOrderRespType | ENUM | NO | 设置响应: JSON. ACK, RESULT, 或 FULL; MARKET 和 LIMIT 订单类型默认为 FULL, 所有其他订单默认为 ACK. |
sideEffectType | ENUM | NO | NO_SIDE_EFFECT, MARGIN_BUY ;默认为 NO_SIDE_EFFECT. 详见FAQ |
selfTradePreventionMode | ENUM | NO | 允许的 ENUM 取决于交易对的配置。支持的值有 EXPIRE_TAKER,EXPIRE_MAKER,EXPIRE_BOTH,NONE |
autoRepayAtCancel | BOOLEAN | NO | 只有在自动借款单生效时,true表示的是撤单后需要把订单产生的借款归还,默认为true |
workingType | ENUM | YES | 支持的数值: LIMIT , LIMIT_MAKER |
workingSide | ENUM | YES | BUY, SELL |
workingClientOrderId | STRING | NO | 用于标识生效订单的唯一ID。如果未发送则自动生成。 |
workingPrice | DECIMAL | YES | |
workingQuantity | DECIMAL | YES | 用于设置生效订单的数量。 |
workingIcebergQty | DECIMAL | YES | 只有当 workingTimeInForce 为 GTC 时才能使用。 |
workingTimeInForce | ENUM | NO | 有效值 GTC /FOK /IOC |
pendingType | ENUM | YES | 支持的数值: 订单类型, 请注意,系统不支持使用 quoteOrderQty 的 MARKET 订单。 |
pendingSide | ENUM | YES | BUY, SELL |
pendingClientOrderId | STRING | NO | 用于标识待处理订单的唯一ID。如果未发送则自动生成。 |
pendingPrice | DECIMAL | NO | |
pendingStopPrice | DECIMAL | NO | |
pendingTrailingDelta | DECIMAL | NO | |
pendingQuantity | DECIMAL | YES | 用于设置待处理订单的数量。 |
pendingIcebergQty | DECIMAL | NO | 只有当 pendingTimeInForce 为 GTC 时才能使用。 |
pendingTimeInForce | ENUM | NO | GTC,IOC,FOK |
-
autoRepayAtCancel补充 说明: 在频繁下单撤单的情况下,为提高资金利用率,建议设置为FALSE
-
根据 pendingType 或者workingType的不同值,对于某些可选参数有强制要求,具体如下:
类型 强制要求的参数 其他信息 workingType
=LIMIT
workingTimeInForce
pendingType
=LIMIT
pendingPrice
,pendingTimeInForce
pendingType
=STOP_LOSS
或TAKE_PROFIT
pendingStopPrice
与/或pendingTrailingDelta
pendingType
=STOP_LOSS_LIMIT
或TAKE_PROFIT_LIMIT
pendingPrice
,pendingStopPrice
与/或pendingTrailingDelta
,pendingTimeInForce
响应示例
{
"orderListId": 13551,
"contingencyType": "OTO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "JDuOrsu0Ge8GTyvx8J7VTD",
"transactionTime": 1725521998054,
"symbol": "BTCUSDT",
"isIsolated": false,
"orders": [
{
"symbol": "BTCUSDT",
"orderId": 29896699,
"clientOrderId": "y8RB6tQEMuHUXybqbtzTxk"
},
{
"symbol": "BTCUSDT",
"orderId": 29896700,
"clientOrderId": "dKQEdh5HhXb7Lpp85jz1dQ"
}
],
"orderReports": [
{
"symbol": "BTCUSDT",
"orderId": 29896699,
"orderListId": 13551,
"clientOrderId": "y8RB6tQEMuHUXybqbtzTxk",
"transactTime": 1725521998054,
"price": "80000.00000000",
"origQty": "0.02000000",
"executedQty": "0",
"cummulativeQuoteQty": "0",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"selfTradePreventionMode": "NONE"
},
{
"symbol": "BTCUSDT",
"orderId": 29896700,
"orderListId": 13551,
"clientOrderId": "dKQEdh5HhXb7Lpp85jz1dQ",
"transactTime": 1725521998054,
"price": "50000.00000000",
"origQty": "0.02000000",
"executedQty": "0",
"cummulativeQuoteQty": "0",
"status": "PENDING_NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"selfTradePreventionMode": "NONE"
}
]
}