auto_trade_sys/docs/bian/现货交易.txt
薇薇安 163b8303ec feat(spot_order): 增强现货下单API的错误处理与文档说明
在现货下单API中添加了对下单金额的最小限制(5 USDT),并改进了错误处理机制,针对不同的Binance API异常提供了详细的错误信息。更新了API文档说明,确保用户能够更清晰地理解下单逻辑与要求。此改动提升了系统的健壮性与用户体验。
2026-02-25 09:26:29 +08:00

1784 lines
68 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

交易接口
下单 (TRADE)
POST /api/v3/order
这个请求会把1个订单添加到 EXCHANGE_MAX_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。
权重: 1
未成交的订单计数: 1
参数:
名称 类型 是否必需 描述
symbol STRING YES
side ENUM YES 详见枚举定义:订单方向
type ENUM YES 详见枚举定义:订单类型
timeInForce ENUM NO 详见枚举定义:生效时间
quantity DECIMAL NO
quoteOrderQty DECIMAL NO
price DECIMAL NO
newClientOrderId STRING NO 用户自定义的orderid如空缺系统会自动赋值。
strategyId LONG NO
strategyType INT NO 不能低于 1000000.
stopPrice DECIMAL NO 仅 STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT 需要此参数。
trailingDelta LONG NO 参见 追踪止盈止损(Trailing Stop)订单常见问题。
icebergQty DECIMAL NO 仅有限价单(包括条件限价单与限价做事单)可以使用该参数,含义为创建冰山订单并指定冰山订单的数量。
newOrderRespType ENUM NO 指定响应类型 ACK, RESULT, or FULL; MARKET 与 LIMIT 订单默认为FULL, 其他默认为ACK。
selfTradePreventionMode ENUM NO 允许的 ENUM 取决于交易对的配置。支持的值有STP 模式。
pegPriceType ENUM NO PRIMARY_PEG 或 MARKET_PEG。
参阅 关于挂钩订单参数的注意事项
pegOffsetValue INT NO 用于挂钩的价格水平最大值100
参阅 关于挂钩订单参数的注意事项
pegOffsetType ENUM NO 仅支持 PRICE_LEVEL。
参阅 关于挂钩订单参数的注意事项
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
根据 order type的不同某些参数 有强制要求,具体如下:
Type 强制要求的参数 其他信息
LIMIT timeInForce, quantity, price
MARKET quantity 市价买卖单可用quantity参数来设置base asset数量.
例如BTCUSDT 市价单BTC 买卖数量取决于quantity参数.
市价买卖单可用quoteOrderQty参数来设置quote asset数量. 正确的quantity取决于市场的流动性与quoteOrderQty
例如: 市价 BUY BTCUSDT单子会基于quoteOrderQty- USDT 的数量,购买 BTC.
市价 SELL BTCUSDT单子会卖出 BTC 来满足quoteOrderQty- USDT 的数量.
STOP_LOSS quantity, stopPrice, trailingDelta 条件满足后会下MARKET单子. (例如达到stopPrice或trailingDelta被启动)
STOP_LOSS_LIMIT timeInForce, quantity, price, stopPrice, trailingDelta
TAKE_PROFIT quantity, stopPrice, trailingDelta 条件满足后会下MARKET单子. (例如达到stopPrice或trailingDelta被启动)
TAKE_PROFIT_LIMIT timeInForce, quantity, price, stopPrice, trailingDelta
LIMIT_MAKER quantity, price 订单大部分情况下与普通的限价单没有区别,但是如果在当前价格会立即吃对手单并成交则下单会被拒绝。因此使用这个订单类型可以保证订单一定是挂单方,不会成为吃单方。
关于挂钩订单参数的注意事项:
这些参数仅适用于 LIMIT LIMIT_MAKER STOP_LOSS_LIMIT 和 TAKE_PROFIT_LIMIT 订单。
如果使用了 pegPriceType 那么 price 字段将是可选的。 否则price 字段依旧是必须的。
pegPriceType=PRIMARY_PEG 就是主要挂钩primary这是订单簿上与您的订单同一方向的最佳价格。
pegPriceType=MARKET_PEG 就是市场挂钩market这是订单簿上与您的订单相反方向的最佳价格。
可以通过使用 pegOffsetType 和 pegOffsetValue 来获取最佳价格以外的价格水平。 这两个参数必须一起使用。
其他:
任何LIMIT或LIMIT_MAKER只要填icebergQty参数都可以下冰上订单。
冰山订单的 timeInForce必须设置为GTC。
STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT_LIMIT 与 TAKE_PROFIT 单子都能同时填上trailingDelta与stopPrice。
填上quoteOrderQty的市价单不会触犯过滤器的LOT_SIZE限制。订单的quantity会尽量满足quoteOrderQty的数量。
条件单的触发价格必须:
比下单时当前市价高: STOP_LOSS BUY, TAKE_PROFIT SELL
比下单时当前市价低: STOP_LOSS SELL, TAKE_PROFIT BUY
关于 newOrderRespType的三种选择
数据源: 撮合引擎
Response ACK: 返回速度最快,不包含成交信息,信息量最少
{
"symbol": "BTCUSDT",
"orderId": 28,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595
}
Response RESULT: 返回速度居中,返回吃单成交的少量信息
{
"symbol": "BTCUSDT",
"orderId": 28,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "10.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "10.00000000",
"status": "FILLED",
"timeInForce": "GTC",
"type": "MARKET",
"side": "SELL",
"workingTime": 1507725176595,
"selfTradePreventionMode": "NONE"
}
Response FULL: 返回速度最慢,返回吃单成交的详细信息
{
"symbol": "BTCUSDT",
"orderId": 28,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "10.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "10.00000000",
"status": "FILLED",
"timeInForce": "GTC",
"type": "MARKET",
"side": "SELL",
"workingTime": 1507725176595,
"selfTradePreventionMode": "NONE",
"fills": [
{
"price": "4000.00000000",
"qty": "1.00000000",
"commission": "4.00000000",
"commissionAsset": "USDT",
"tradeId": 56
},
{
"price": "3999.00000000",
"qty": "5.00000000",
"commission": "19.99500000",
"commissionAsset": "USDT",
"tradeId": 57
},
{
"price": "3998.00000000",
"qty": "2.00000000",
"commission": "7.99600000",
"commissionAsset": "USDT",
"tradeId": 58
},
{
"price": "3997.00000000",
"qty": "1.00000000",
"commission": "3.99700000",
"commissionAsset": "USDT",
"tradeId": 59
},
{
"price": "3995.00000000",
"qty": "1.00000000",
"commission": "3.99500000",
"commissionAsset": "USDT",
"tradeId": 60
}
]
}
订单响应中的特定条件时才会出现的字段
订单响应中的有一些字段仅在满足特定条件时才会出现。这些订单响应可以来自下订单,查询订单或取消订单,并且可以包括订单列表类型。 下面列出了这些字段:
名称 描述 显示的条件 示例
icebergQty 冰山订单的数量。 只有在请求中发送 icebergQty 参数时才会出现。 "icebergQty": "0.00000000"
preventedMatchId 与 symbol 结合使用时,可用于查询因为 STP 导致订单失效的过期订单。 只有在因为 STP 导致订单失效时可见。 "preventedMatchId": 0
preventedQuantity 因为 STP 导致订单失效的数量。 只有在因为 STP 导致订单失效时可见。 "preventedQuantity": "1.200000"
stopPrice 用于设置逻辑订单中的触发价。 STOP_LOSSTAKE_PROFITSTOP_LOSS_LIMIT 和 TAKE_PROFIT_LIMIT 订单时可见。 "stopPrice": "23500.00000000"
strategyId 策略单ID; 用以关联此订单对应的交易策略。 如果在请求中添加了参数,则会出现。 "strategyId": 37463720
strategyType 策略单类型; 用以显示此订单对应的交易策略。 如果在请求中添加了参数,则会出现。 "strategyType": 1000000
trailingDelta 用以定义追踪止盈止损订单被触发的价格差。 出现在追踪止损订单中。 "trailingDelta": 10
trailingTime 追踪单被激活和跟踪价格变化的时间。 出现在追踪止损订单中。 "trailingTime": -1
usedSor 用于确定订单是否使用SOR的字段 在使用SOR下单时出现 "usedSor": true
workingFloor 用以定义订单是通过 SOR 还是由订单提交到的订单薄order book成交的。 出现在使用了 SOR 的订单中。 "workingFloor": "SOR"
pegPriceType 挂钩价格类型 仅用于挂钩订单 "pegPriceType": "PRIMARY_PEG"
pegOffsetType 挂钩价格偏移类型 如若需要,仅用于挂钩订单 "pegOffsetType": "PRICE_LEVEL"
pegOffsetValue 挂钩价格偏移值 如若需要,仅用于挂钩订单 "pegOffsetValue": 5
peggedPrice 订单对应的当前挂钩价格 一旦确定,仅用于挂钩订单 "peggedPrice": "87523.83710000"
测试下单接口 (TRADE)
POST /api/v3/order/test
用于测试订单请求,但不会提交到撮合引擎
权重:
条件 权重
没有 computeCommissionRates 1
有 computeCommissionRates 20
参数:
除了 POST /api/v3/order 所有参数, 下面参数也支持:
参数名 类型 是否必需 描述
computeCommissionRates BOOLEAN NO 默认值: false
请参阅佣金常见问题解答 了解更多信息。
数据源: 缓存
响应:
没有 computeCommissionRates
{}
有 computeCommissionRates
{
"standardCommissionForOrder": { // 订单交易的标准佣金率
"maker": "0.00000112",
"taker": "0.00000114"
},
"specialCommissionForOrder": { // 订单交易的特殊佣金率
"maker": "0.05000000",
"taker": "0.06000000"
},
"taxCommissionForOrder": { // 订单交易的税率
"maker": "0.00000112",
"taker": "0.00000114"
},
"discount": { // 以BNB支付时的标准佣金折扣。
"enabledForAccount": true,
"enabledForSymbol": true,
"discountAsset": "BNB",
"discount": "0.25000000" // 当用BNB支付佣金时在标准佣金上按此比率打折
}
}
撤销订单 (TRADE)
DELETE /api/v3/order
权重: 1
参数:
名称 类型 是否必需 描述
symbol STRING YES
orderId LONG NO
origClientOrderId STRING NO
newClientOrderId STRING NO 用户自定义的本次撤销操作的ID(注意不是被撤销的订单的自定义ID)。如无指定会自动赋值。
cancelRestrictions ENUM NO 支持的值:
ONLY_NEW - 如果订单状态为 NEW撤销将成功。
ONLY_PARTIALLY_FILLED - 如果订单状态为 PARTIALLY_FILLED撤销将成功。
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
注意:
orderId 与 origClientOrderId 必须至少发送一个。
当同时提供 orderId 和 origClientOrderId 两个参数时,系统首先将会使用 orderId 来搜索订单。然后, 查找结果中的 origClientOrderId 的值将会被用来验证订单。如果两个条件都不满足,则请求将被拒绝。
数据源: 撮合引擎
响应:
{
"symbol": "LTCBTC",
"orderId": 28,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"origClientOrderId": "myOrder1",
"clientOrderId": "cancelMyOrder1",
"transactTime": 1507725176595,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "8.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "8.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"selfTradePreventionMode": "NONE"
}
注意: 上面的 payload 没有显示所有可以出现的字段,更多请看 订单响应中的特定条件时才会出现的字段 部分。
当仅发送 orderId 时,取消订单的执行(单个 Cancel 或作为 Cancel-Replace 的一部分)总是更快。发送 origClientOrderId 或同时发送 orderId + origClientOrderId 会稍慢。
关于 cancelRestrictions
如果 cancelRestrictions 值不是任何受支持的值,则错误将是:
{
"code": -1145,
"msg": "Invalid cancelRestrictions"
}
如果订单没有通过 cancelRestrictions 的条件,错误将是:
{
"code": -2011,
"msg": "Order was not canceled due to cancel restrictions."
}
撤销单一交易对的所有挂单 (TRADE)
DELETE /api/v3/openOrders
撤销单一交易对下所有挂单。这也包括了来自订单列表的挂单。
权重: 1
参数:
名称 类型 是否必需 描述
symbol STRING YES
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
数据源: 撮合引擎
响应:
[
{
"symbol": "BTCUSDT",
"origClientOrderId": "E6APeyTJvkMvLMYMqu1KQ4",
"orderId": 11,
"orderListId": -1,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"transactTime": 1684804350068,
"price": "0.089853",
"origQty": "0.178622",
"executedQty": "0.000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"selfTradePreventionMode": "NONE"
},
{
"symbol": "BTCUSDT",
"origClientOrderId": "A3EF2HCwxgZPFMrfwbgrhv",
"orderId": 13,
"orderListId": -1,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"transactTime": 1684804350068,
"price": "0.090430",
"origQty": "0.178622",
"executedQty": "0.000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"selfTradePreventionMode": "NONE"
},
{
"orderListId": 1929,
"contingencyType": "OCO",
"listStatusType": "ALL_DONE",
"listOrderStatus": "ALL_DONE",
"listClientOrderId": "2inzWQdDvZLHbbAmAozX2N",
"transactionTime": 1585230948299,
"symbol": "BTCUSDT",
"orders": [
{
"symbol": "BTCUSDT",
"orderId": 20,
"clientOrderId": "CwOOIPHSmYywx6jZX77TdL"
},
{
"symbol": "BTCUSDT",
"orderId": 21,
"clientOrderId": "461cPg51vQjV3zIMOXNz39"
}
],
"orderReports": [
{
"symbol": "BTCUSDT",
"origClientOrderId": "CwOOIPHSmYywx6jZX77TdL",
"orderId": 20,
"orderListId": 1929,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"transactTime": 1684804350068,
"price": "0.668611",
"origQty": "0.690354",
"executedQty": "0.000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "STOP_LOSS_LIMIT",
"side": "BUY",
"stopPrice": "0.378131",
"icebergQty": "0.017083",
"selfTradePreventionMode": "NONE"
},
{
"symbol": "BTCUSDT",
"origClientOrderId": "461cPg51vQjV3zIMOXNz39",
"orderId": 21,
"orderListId": 1929,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"transactTime": 1684804350068,
"price": "0.008791",
"origQty": "0.690354",
"executedQty": "0.000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "BUY",
"icebergQty": "0.639962",
"selfTradePreventionMode": "NONE"
}
]
}
]
撤消挂单再下单 (TRADE)
POST /api/v3/order/cancelReplace
撤消挂单并在同个交易对上重新下单。
在撤消订单和下单前会判断: 1) 过滤器参数, 以及 2) 目前下单数量。
即使请求中没有尝试发送新订单,比如(newOrderResult: NOT_ATTEMPTED)未成交订单的数量仍然会加1。
权重: 1
未成交的订单计数: 1
参数:
名称 类型 是否必需 描述
symbol STRING YES
side ENUM YES
type ENUM YES
cancelReplaceMode ENUM YES 指定类型STOP_ON_FAILURE - 如果撤消订单失败将不会继续重新下单。
ALLOW_FAILURE - 不管撤消订单是否成功都会继续重新下单。
timeInForce ENUM NO
quantity DECIMAL NO
quoteOrderQty DECIMAL NO
price DECIMAL NO
cancelNewClientOrderId STRING NO 用户自定义的id如空缺系统会自动赋值
cancelOrigClientOrderId STRING NO 必须提供 cancelOrderId 或者 cancelOrigClientOrderId。
当同时提供 cancelOrderId 和 cancelOrigClientOrderId 两个参数时,系统首先将会使用 cancelOrderId 来搜索订单。
然后, 查找结果中的 cancelOrigClientOrderId 的值将会被用来验证订单。
如果两个条件都不满足,则请求将被拒绝。
cancelOrderId LONG NO 必须提供 cancelOrderId 或者 cancelOrigClientOrderId。
当同时提供 cancelOrderId 和 cancelOrigClientOrderId 两个参数时,系统首先将会使用 cancelOrderId 来搜索订单。
然后, 查找结果中的 cancelOrigClientOrderId 的值将会被用来验证订单。
如果两个条件都不满足,则请求将被拒绝。
newClientOrderId STRING NO 用于辨识新订单。
strategyId LONG NO
strategyType INT NO 不能低于 1000000。
stopPrice DECIMAL NO
trailingDelta LONG NO 参考 追踪止盈止损(Trailing Stop)订单常见问题
icebergQty DECIMAL NO
newOrderRespType ENUM NO 指定响应类型:
指定响应类型 ACK, RESULT, or FULL; MARKET 与 LIMIT 订单默认为FULL 其他默认为ACK。
selfTradePreventionMode ENUM NO 允许的 ENUM 取决于交易对的配置。支持的值有STP 模式。
cancelRestrictions ENUM NO 支持的值:
ONLY_NEW - 如果订单状态为 NEW撤销将成功。
ONLY_PARTIALLY_FILLED - 如果订单状态为 PARTIALLY_FILLED撤销将成功。
orderRateLimitExceededMode ENUM NO 支持的值:
DO_NOTHING默认值- 仅在账户未超过未成交订单频率限制时,会尝试取消订单。
CANCEL_ONLY - 将始终取消订单。
pegPriceType ENUM NO PRIMARY_PEG 或 MARKET_PEG。
参阅 关于挂钩订单参数的注意事项
pegOffsetValue INT NO 用于挂钩的价格水平最大值100
参阅 关于挂钩订单参数的注意事项
pegOffsetType ENUM NO 仅支持 PRICE_LEVEL。
参阅 关于挂钩订单参数的注意事项
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
如同 POST /api/v3/order额外的强制参数取决于 type 。
响应格式根据消息的处理是成功、部分成功还是失败而有所不同。
数据来源: 撮合引擎
请求 响应
cancelReplaceMode orderRateLimitExceededMode 未成交订单数 cancelResult newOrderResult status
STOP_ON_FAILURE DO_NOTHING 在限制范围内 ✅ SUCCESS ✅ SUCCESS 200
❌ FAILURE NOT_ATTEMPTED 400
✅ SUCCESS ❌ FAILURE 409
超出限制范围 ✅ SUCCESS ✅ SUCCESS N/A
❌ FAILURE NOT_ATTEMPTED N/A
✅ SUCCESS ❌ FAILURE N/A
CANCEL_ONLY 在限制范围内 ✅ SUCCESS ✅ SUCCESS 200
❌ FAILURE NOT_ATTEMPTED 400
✅ SUCCESS ❌ FAILURE 409
超出限制范围 ❌ FAILURE NOT_ATTEMPTED 429
✅ SUCCESS ❌ FAILURE 429
ALLOW_FAILURE DO_NOTHING 在限制范围内 ✅ SUCCESS ✅ SUCCESS 200
❌ FAILURE ❌ FAILURE 400
❌ FAILURE ✅ SUCCESS 409
✅ SUCCESS ❌ FAILURE 409
超出限制范围 ✅ SUCCESS ✅ SUCCESS N/A
❌ FAILURE ❌ FAILURE N/A
❌ FAILURE ✅ SUCCESS N/A
✅ SUCCESS ❌ FAILURE N/A
CANCEL_ONLY 在限制范围内 ✅ SUCCESS ✅ SUCCESS 200
❌ FAILURE ❌ FAILURE 400
❌ FAILURE ✅ SUCCESS 409
✅ SUCCESS ❌ FAILURE 409
超出限制范围 ✅ SUCCESS ✅ SUCCESS N/A
❌ FAILURE ❌ FAILURE 400
❌ FAILURE ✅ SUCCESS N/A
✅ SUCCESS ❌ FAILURE 409
响应:账户没有超出未成交订单计数时的 Response SUCCESS
// 撤单和下单都成功
{
"cancelResult": "SUCCESS",
"newOrderResult": "SUCCESS",
"cancelResponse": {
"symbol": "BTCUSDT",
"origClientOrderId": "DnLo3vTAQcjha43lAZhZ0y",
"orderId": 9,
"orderListId": -1,
"clientOrderId": "osxN3JXAtJvKvCqGeMWMVR",
"transactTime": 1684804350068,
"price": "0.01000000",
"origQty": "0.000100",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL"
},
"newOrderResponse": {
"symbol": "BTCUSDT",
"orderId": 10,
"orderListId": -1,
"clientOrderId": "wOceeeOzNORyLiQfw7jd8S",
"transactTime": 1652928801803,
"price": "0.02000000",
"origQty": "0.040000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"fills": []
}
}
响应:选择了 STOP_ON_FAILURE 而且账户没有超出未成交订单计数时, 撤单出现错误
{
"code": -2022,
"msg": "Order cancel-replace failed.",
"data": {
"cancelResult": "FAILURE",
"newOrderResult": "NOT_ATTEMPTED",
"cancelResponse": {
"code": -2011,
"msg": "Unknown order sent."
},
"newOrderResponse": null
}
}
响应:撤单成功而且账户没有超出未成交订单计数时,下单失败
{
"code": -2021,
"msg": "Order cancel-replace partially failed.",
"data": {
"cancelResult": "SUCCESS",
"newOrderResult": "FAILURE",
"cancelResponse": {
"symbol": "BTCUSDT",
"origClientOrderId": "86M8erehfExV8z2RC8Zo8k",
"orderId": 3,
"orderListId": -1,
"clientOrderId": "G1kLo6aDv2KGNTFcjfTSFq",
"transactTime": 1684804350068,
"price": "0.006123",
"origQty": "10000.000000",
"executedQty": "0.000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "SELL"
},
"newOrderResponse": {
"code": -2010,
"msg": "Order would immediately match and take."
}
}
}
响应:选择 ALLOW_FAILURE 而且账户没有超出未成交订单计数时, 撤单出现错误
{
"code": -2021,
"msg": "Order cancel-replace partially failed.",
"data": {
"cancelResult": "FAILURE",
"newOrderResult": "SUCCESS",
"cancelResponse": {
"code": -2011,
"msg": "Unknown order sent."
},
"newOrderResponse": {
"symbol": "BTCUSDT",
"orderId": 11,
"orderListId": -1,
"clientOrderId": "pfojJMg6IMNDKuJqDxvoxN",
"transactTime": 1648540168818
}
}
}
响应:选择 cancelReplaceMode=ALLOW_FAILURE 而且账户没有超出未成交订单计数时, 撤单和下单失败
{
"code": -2022,
"msg": "Order cancel-replace failed.",
"data": {
"cancelResult": "FAILURE",
"newOrderResult": "FAILURE",
"cancelResponse": {
"code": -2011,
"msg": "Unknown order sent."
},
"newOrderResponse": {
"code": -2010,
"msg": "Order would immediately match and take."
}
}
}
响应:选择 orderRateLimitExceededMode=DO_NOTHING 而且账户超出未成交订单计数时
{
"code": -1015,
"msg": "Too many new orders; current limit is 1 orders per 10 SECOND."
}
响应:选择 orderRateLimitExceededMode=CANCEL_ONLY 而且账户超出未成交订单计数时
{
"code": -2021,
"msg": "Order cancel-replace partially failed.",
"data": {
"cancelResult": "SUCCESS",
"newOrderResult": "FAILURE",
"cancelResponse": {
"symbol": "LTCBNB",
"origClientOrderId": "GKt5zzfOxRDSQLveDYCTkc",
"orderId": 64,
"orderListId": -1,
"clientOrderId": "loehOJF3FjoreUBDmv739R",
"transactTime": 1715779007228,
"price": "1.00",
"origQty": "10.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"selfTradePreventionMode": "NONE"
},
"newOrderResponse": {
"code": -1015,
"msg": "Too many new orders; current limit is 1 orders per 10 SECOND."
}
}
}
注意:
上面的 payload 没有显示所有可以出现的字段,更多请看 订单响应中的特定条件时才会出现的字段 部分。
当仅发送 orderId 时,取消订单的执行(单个 Cancel 或作为 Cancel-Replace 的一部分)总是更快。发送 origClientOrderId 或同时发送 orderId + origClientOrderId 会稍慢。
修改订单并保留优先级 (TRADE)
PUT /api/v3/order/amend/keepPriority
由客户发送以减少其现有当前订单的原始数量。
这个请求将添加0个订单到 EXCHANGE_MAX_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。
请阅读 保留优先权的修改订单常见问题 了解更多信息。
权重: 4
未成交的订单计数: 0
参数:
名称 类型 是否必需 描述
symbol STRING YES
orderId LONG NO* 需提供 orderId 或 origClientOrderId。
origClientOrderId STRING NO* 需提供 orderId 或 origClientOrderId。
newClientOrderId STRING NO* 订单在被修改后被赋予的新 client order ID。
如果未发送则自动生成。
可以将当前 clientOrderId 作为 newClientOrderId 发送来重用当前 clientOrderId 的值。
newQty DECIMAL YES 交易的新数量。 newQty 必须大于0, 但是必须比订单的原始数量小。
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
数据源: 撮合引擎
来自单个订单的响应:
{
"transactTime": 1741926410255,
"executionId": 75,
"amendedOrder": {
"symbol": "BTCUSDT",
"orderId": 33,
"orderListId": -1,
"origClientOrderId": "5xrgbMyg6z36NzBn2pbT8H",
"clientOrderId": "PFaq6hIHxqFENGfdtn4J6Q",
"price": "6.00000000",
"qty": "5.00000000",
"executedQty": "0.00000000",
"preventedQty": "0.00000000",
"quoteOrderQty": "0.00000000",
"cumulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"workingTime": 1741926410242,
"selfTradePreventionMode": "NONE"
}
}
来自订单列表中单个订单的响应:
{
"transactTime": 1741669661670,
"executionId": 22,
"amendedOrder": {
"symbol": "BTCUSDT",
"orderId": 9,
"orderListId": 1,
"origClientOrderId": "W0fJ9fiLKHOJutovPK3oJp",
"clientOrderId": "UQ1Np3bmQ71jJzsSDW9Vpi",
"price": "0.00000000",
"qty": "4.00000000",
"executedQty": "0.00000000",
"preventedQty": "0.00000000",
"quoteOrderQty": "0.00000000",
"cumulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "GTC",
"type": "MARKET",
"side": "BUY",
"selfTradePreventionMode": "NONE"
},
"listStatus": {
"orderListId": 1,
"contingencyType": "OTO",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "AT7FTxZXylVSwRoZs52mt3",
"symbol": "BTCUSDT",
"orders": [
{
"symbol": "BTCUSDT",
"orderId": 8,
"clientOrderId": "GkwwHZUUbFtZOoH1YsZk9Q"
},
{
"symbol": "BTCUSDT",
"orderId": 9,
"clientOrderId": "UQ1Np3bmQ71jJzsSDW9Vpi"
}
]
}
}
注意: 上面的 payload 没有显示所有可以出现的字段,更多请看 订单响应中的特定条件时才会出现的字段 部分。
订单列表Order lists
发送新 OCO 订单 - 已弃用 (TRADE)
POST /api/v3/order/oco
权重: 1
未成交的订单计数: 2
发送新的 OCO。
价格限制:
SELL Limit price > 最后交易价格 > stop Price
BUY Limit price < 最后交易价格 < stop Price
数量限制:
两条腿的数量必须相同。
不过, 冰山 交易的数量不一定相同
OCO 将2个订单添加到 EXCHANGE_MAX_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。
参数:
名称 类型 是否必需 描述
symbol STRING YES
listClientOrderId STRING NO 整个orderList的唯一ID
side ENUM YES 详见枚举定义:订单方向
quantity DECIMAL YES
limitClientOrderId STRING NO 限价单的唯一ID
price DECIMAL YES
limitStrategyId LONG NO
limitStrategyType INT NO 不能低于 1000000
limitIcebergQty DECIMAL NO
trailingDelta LONG NO
stopClientOrderId STRING NO 止损/止损限价单的唯一ID
stopPrice DECIMAL YES
stopStrategyId LONG NO
stopStrategyType INT NO 不能低于 1000000
stopLimitPrice DECIMAL NO 如果提供须配合提交stopLimitTimeInForce
stopIcebergQty DECIMAL NO
stopLimitTimeInForce ENUM NO 有效值 GTC/FOK/IOC
newOrderRespType ENUM NO 详见枚举定义:订单返回类型
selfTradePreventionMode ENUM NO 允许的 ENUM 取决于交易对的配置。支持的值有STP 模式。
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
数据源: 撮合引擎
响应
{
"orderListId": 0,
"contingencyType": "OCO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "JYVpp3F0f5CAG15DhtrqLp",
"transactionTime": 1563417480525,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 2,
"clientOrderId": "Kk7sqHb9J6mJWTMDVW7Vos"
},
{
"symbol": "LTCBTC",
"orderId": 3,
"clientOrderId": "xTXKaGYd4bluPVp78IVRvl"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"orderId": 2,
"orderListId": 0,
"clientOrderId": "Kk7sqHb9J6mJWTMDVW7Vos",
"transactTime": 1563417480525,
"price": "0.000000",
"origQty": "0.624363",
"executedQty": "0.000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "STOP_LOSS",
"side": "BUY",
"stopPrice": "0.960664",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "LTCBTC",
"orderId": 3,
"orderListId": 0,
"clientOrderId": "xTXKaGYd4bluPVp78IVRvl",
"transactTime": 1563417480525,
"price": "0.036435",
"origQty": "0.624363",
"executedQty": "0.000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "BUY",
"workingTime": 1563417480525,
"selfTradePreventionMode": "NONE"
}
]
}
New Order list - OCO (TRADE)
POST /api/v3/orderList/oco
发送新 one-cancels-the-other (OCO) 订单,激活其中一个订单会立即取消另一个订单。
OCO 包含了两个订单,分别被称为 上方订单 和 下方订单。
其中一个订单必须是 LIMIT_MAKER/TAKE_PROFIT/TAKE_PROFIT_LIMIT 订单,另一个订单必须是 STOP_LOSS 或 STOP_LOSS_LIMIT 订单。
针对价格限制:
如果 OCO 订单方向是 SELL
LIMIT_MAKER/TAKE_PROFIT_LIMIT price > 最后交易价格 > STOP_LOSS/STOP_LOSS_LIMIT stopPrice
TAKE_PROFIT stopPrice > 最后交易价格 > STOP_LOSS/STOP_LOSS_LIMIT stopPrice
如果 OCO 订单方向是 BUY
LIMIT_MAKER/TAKE_PROFIT_LIMIT price < 最后交易价格 < stopPrice
TAKE_PROFIT stopPrice < 最后交易价格 < STOP_LOSS/STOP_LOSS_LIMIT stopPrice
OCO 会添加 2个订单 到 EXCHANGE_MAX_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。
权重: 1
未成交的订单计数: 2
参数:
名称 类型 是否必需 描述
symbol STRING Yes
listClientOrderId STRING No 整个 OCO order list 的唯一ID。 如果未发送则自动生成。
仅当前一个订单已填满或完全过期时才会接受具有相同的listClientOrderId。
listClientOrderId 与 aboveClientOrderId 和 belowCLientOrderId 不同。
side ENUM Yes 订单方向BUY or SELL
quantity DECIMAL Yes 两个订单的数量。
aboveType ENUM Yes 支持值STOP_LOSS_LIMIT, STOP_LOSS, LIMIT_MAKER, TAKE_PROFIT, TAKE_PROFIT_LIMIT。
aboveClientOrderId STRING No 上方订单的唯一ID。 如果未发送则自动生成。
aboveIcebergQty LONG No 请注意,只有当 aboveTimeInForce 为 GTC 时才能使用。
abovePrice DECIMAL No 当 aboveType 是 STOP_LOSS_LIMIT, LIMIT_MAKER 或 TAKE_PROFIT_LIMIT 时,可用以指定限价。
aboveStopPrice DECIMAL No 如果 aboveType 是 STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT 或 TAKE_PROFIT_LIMIT 才能使用。
必须指定 aboveStopPrice 或 aboveTrailingDelta 或两者。
aboveTrailingDelta LONG No 请看 追踪止盈止损(Trailing Stop)订单常见问题。
aboveTimeInForce ENUM No 如果 aboveType 是 STOP_LOSS_LIMIT 或 TAKE_PROFIT_LIMIT则为必填项。
aboveStrategyId LONG No 订单策略中上方订单的 ID。
aboveStrategyType INT No 上方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
abovePegPriceType ENUM NO 参阅 关于挂钩订单参数的注意事项
abovePegOffsetType ENUM NO
abovePegOffsetValue INT NO
belowType ENUM Yes 支持值STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT,TAKE_PROFIT_LIMIT。
belowClientOrderId STRING No
belowIcebergQty LONG No 请注意,只有当 belowTimeInForce 为 GTC 时才能使用。
belowPrice DECIMAL No 当 belowType 是 STOP_LOSS_LIMIT, LIMIT_MAKER 或 TAKE_PROFIT_LIMIT 时,可用以指定限价。
belowStopPrice DECIMAL No 如果 belowType 是 STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT 或 TAKE_PROFIT_LIMIT 才能使用。
必须指定 belowStopPrice 或 belowTrailingDelta 或两者。
belowTrailingDelta LONG No 请看 追踪止盈止损(Trailing Stop)订单常见问题。
belowTimeInForce ENUM No 如果belowType 是 STOP_LOSS_LIMIT 或 TAKE_PROFIT_LIMIT则为必须配合提交的值。
belowStrategyId LONG No 订单策略中下方订单的 ID。
belowStrategyType INT No 下方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
belowPegPriceType ENUM NO 参阅 关于挂钩订单参数的注意事项
belowPegOffsetType ENUM NO
belowPegOffsetValue INT NO
newOrderRespType ENUM No 响应格式可选值: ACK, RESULT, FULL。
selfTradePreventionMode ENUM No 允许的 ENUM 取决于交易对上的配置。 支持值STP 模式。
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG Yes
数据源: 撮合引擎
响应:
使用 newOrderRespType 参数来选择 orderReports 的响应格式。以下示例适用于 RESULT 响应类型。 请参阅 POST /api/v3/order了解更多 orderReports 的响应类型。
{
"orderListId": 1,
"contingencyType": "OCO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "lH1YDkuQKWiXVXHPSKYEIp",
"transactionTime": 1710485608839,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 10,
"clientOrderId": "44nZvqpemY7sVYgPYbvPih"
},
{
"symbol": "LTCBTC",
"orderId": 11,
"clientOrderId": "NuMp0nVYnciDiFmVqfpBqK"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"orderId": 10,
"orderListId": 1,
"clientOrderId": "44nZvqpemY7sVYgPYbvPih",
"transactTime": 1710485608839,
"price": "1.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "STOP_LOSS_LIMIT",
"side": "SELL",
"stopPrice": "1.00000000",
"workingTime": -1,
"icebergQty": "1.00000000",
"selfTradePreventionMode": "NONE"
},
{
"symbol": "LTCBTC",
"orderId": 11,
"orderListId": 1,
"clientOrderId": "NuMp0nVYnciDiFmVqfpBqK",
"transactTime": 1710485608839,
"price": "3.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "SELL",
"workingTime": 1710485608839,
"selfTradePreventionMode": "NONE"
}
]
}
New Order List - OTO (TRADE)
POST /api/v3/orderList/oto
发送一个新的 OTO 订单。
一个 OTO 订单One-Triggers-the-Other是一个包含了两个订单的订单列表.
第一个订单被称为生效订单,必须为 LIMIT 或 LIMIT_MAKER 类型的订单。最初,订单簿上只有生效订单。
第二个订单被称为待处理订单。它可以是任何订单类型,但不包括使用参数 quoteOrderQty 的 MARKET 订单。只有当生效订单完全成交时,待处理订单才会被自动下单。
如果生效订单或者待处理订单中的任意一个被单独取消,订单列表中剩余的那个订单也会被随之取消或过期。
如果生效订单在下订单列表后立即完全成交,则可能会得到订单响应。其中,生效订单的状态为 FILLED ,但待处理订单的状态为 PENDING_NEW。针对这类情况如果需要检查当前状态您可以查询相关的待处理订单。
OTO 订单将2 个订单添加到 EXCHANGE_MAX_NUM_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。
权重: 1
未成交的订单计数: 2
参数:
名称 类型 是否必需 描述
symbol STRING YES
listClientOrderId STRING NO 整个订单列表的唯一ID。 如果未发送则自动生成。
仅当前一个订单列表已填满或完全过期时,才会接受含有相同 listClientOrderId 值的新订单列表。
listClientOrderId 与 workingClientOrderId 和 pendingClientOrderId 不同。
newOrderRespType ENUM NO 用于设置JSON响应的格式。 支持的数值: 订单返回类型
selfTradePreventionMode ENUM NO 允许的数值取决于交易对上的配置。参考 STP 模式
workingType ENUM YES 支持的数值: LIMIT LIMIT_MAKER
workingSide ENUM YES 支持的数值: 订单方向
workingClientOrderId STRING NO 用于标识生效订单的唯一ID。
如果未发送则自动生成。
workingPrice DECIMAL YES
workingQuantity DECIMAL YES 用于设置生效订单的数量。
workingIcebergQty DECIMAL NO 仅当 workingTimeInForce 为 GTC 或 workingType 为 LIMIT_MAKER 时,才能使用此功能。
workingTimeInForce ENUM NO 支持的数值: 生效时间
workingStrategyId LONG NO 订单策略中用于标识生效订单的 ID。
workingStrategyType INT NO 用于标识生效订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingType ENUM YES 支持的数值: 订单类型
请注意,系统不支持使用 quoteOrderQty 的 MARKET 订单。
workingPegPriceType ENUM NO 参阅 关于挂钩订单参数的注意事项
workingPegOffsetType ENUM NO
workingPegOffsetValue INT NO
pendingSide ENUM YES 支持的数值: 订单方向
pendingClientOrderId STRING NO 用于标识待处理订单的唯一ID。
如果未发送则自动生成。
pendingPrice DECIMAL NO
pendingStopPrice DECIMAL NO
pendingTrailingDelta DECIMAL NO
pendingQuantity DECIMAL YES 用于设置待处理订单的数量。
pendingIcebergQty DECIMAL NO 只有当 pendingTimeInForce 为 GTC 或者当 pendingType 为 LIMIT_MAKER 时才能使用。
pendingTimeInForce ENUM NO 支持的数值: 生效时间
pendingStrategyId LONG NO 订单策略中用于标识待处理订单的 ID。
pendingStrategyType INT NO 用于标识待处理订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingPegPriceType ENUM NO 参阅 关于挂钩订单参数的注意事项
pendingPegOffsetType ENUM NO
pendingPegOffsetValue INT NO
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
根据 pendingType 或者 workingType 的不同值,对于某些参数的强制要求
根据 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": 0,
"contingencyType": "OTO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "yl2ERtcar1o25zcWtqVBTC",
"transactionTime": 1712289389158,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 4,
"clientOrderId": "Bq17mn9fP6vyCn75Jw1xya"
},
{
"symbol": "LTCBTC",
"orderId": 5,
"clientOrderId": "arLFo0zGJVDE69cvGBaU0d"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"orderId": 4,
"orderListId": 0,
"clientOrderId": "Bq17mn9fP6vyCn75Jw1xya",
"transactTime": 1712289389158,
"price": "1.00000000",
"origQty": "1.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"workingTime": 1712289389158,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "LTCBTC",
"orderId": 5,
"orderListId": 0,
"clientOrderId": "arLFo0zGJVDE69cvGBaU0d",
"transactTime": 1712289389158,
"price": "0.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "GTC",
"type": "MARKET",
"side": "BUY",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
}
]
}
注意: 上面的 payload 没有显示所有可以出现的字段,更多请看 订单响应中的特定条件时才会出现的字段 部分。
New Order List - OTOCO (TRADE)
POST /api/v3/orderList/otoco
发送一个新的 OTOCO 订单。
一个 OTOCO 订单One-Triggers-One-Cancels-the-Other是一个包含了三个订单的订单列表。
第一个订单被称为生效订单,必须为 LIMIT 或 LIMIT_MAKER 类型的订单。最初,订单簿上只有生效订单。
生效订单的行为与此一致 OTO
一个OTOCO订单有两个待处理订单pending above 和 pending below它们构成了一个 OCO 订单列表。只有当生效订单完全成交时,待处理订单们才会被自动下单。
待处理上方(pending above)订单和待处理下方(pending below)订单都遵循与 OCO 订单列表相同的规则 Order List OCO。
OTOCO 在 EXCHANGE_MAX_NUM_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器的基础上添加3个订单。
权重: 1
未成交的订单计数: 3
参数:
名称 类型 是否必需 描述
symbol STRING YES
listClientOrderId STRING NO 整个订单列表的唯一ID。 如果未发送则自动生成。
仅当前一个订单列表已填满或完全过期时,才会接受含有相同 listClientOrderId 值的新订单列表。
listClientOrderId 与 workingClientOrderId pendingAboveClientOrderId 以及 pendingBelowClientOrderId 不同。
newOrderRespType ENUM NO 用于设置JSON响应的格式。 支持的数值: 订单返回类型
selfTradePreventionMode ENUM NO 允许的数值取决于交易对上的配置。参考 STP 模式
workingType ENUM YES 支持的数值: LIMIT LIMIT_MAKER
workingSide ENUM YES 支持的数值: 订单方向
workingClientOrderId STRING NO 用于标识生效订单的唯一ID。
如果未发送则自动生成。
workingPrice DECIMAL YES
workingQuantity DECIMAL YES
workingIcebergQty DECIMAL NO 仅当 workingTimeInForce 为 GTC 或 workingType 为 LIMIT_MAKER 时,才能使用此功能。
workingTimeInForce ENUM NO 支持的数值: 生效时间
workingStrategyId LONG NO 订单策略中用于标识生效订单的 ID。
workingStrategyType INT NO 用于标识生效订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
workingPegPriceType ENUM NO 参阅 关于挂钩订单参数的注意事项
workingPegOffsetType ENUM NO
workingPegOffsetValue INT NO
pendingSide ENUM YES 支持的数值: 订单方向
pendingQuantity DECIMAL YES
pendingAboveType ENUM YES 支持的数值: STOP_LOSS_LIMIT, STOP_LOSS, LIMIT_MAKER, TAKE_PROFIT, TAKE_PROFIT_LIMIT
pendingAboveClientOrderId STRING NO 用于标识待处理上方订单的唯一ID。
如果未发送则自动生成。
pendingAbovePrice DECIMAL NO 当 pendingAboveType 是 STOP_LOSS_LIMIT, LIMIT_MAKER 或 TAKE_PROFIT_LIMIT 时,可用以指定限价。
pendingAboveStopPrice DECIMAL NO 如果 pendingAboveType 是 STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT 才能使用。
pendingAboveTrailingDelta DECIMAL NO 参见 追踪止盈止损(Trailing Stop)订单常见问题
pendingAboveIcebergQty DECIMAL NO 只有当 pendingAboveTimeInForce 为 GTC 时才能使用。
pendingAboveTimeInForce ENUM NO
pendingAboveStrategyId LONG NO 订单策略中用于标识待处理上方订单的 ID。
pendingAboveStrategyType INT NO 用于标识待处理上方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingAbovePegPriceType ENUM NO 参阅 关于挂钩订单参数的注意事项
pendingAbovePegOffsetType ENUM NO
pendingAbovePegOffsetValue INT NO
pendingBelowType ENUM NO 支持的数值: STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT
pendingBelowClientOrderId STRING NO 用于标识待处理下方订单的唯一ID。
如果未发送则自动生成。
pendingBelowPrice DECIMAL NO 当 pendingBelowType 是 STOP_LOSS_LIMIT 或 TAKE_PROFIT_LIMIT 时,可用以指定限价。
pendingBelowStopPrice DECIMAL NO 如果 pendingBelowType 是 STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT 才能使用。
必须指定 pendingBelowStopPrice 或 pendingBelowTrailingDelta 或两者。
pendingBelowTrailingDelta DECIMAL NO
pendingBelowIcebergQty DECIMAL NO 只有当 pendingBelowTimeInForce 为 GTC 时才能使用。
pendingBelowTimeInForce ENUM NO
pendingBelowStrategyId LONG NO 订单策略中用于标识待处理下方订单的 ID。
pendingBelowStrategyType INT NO 用于标识待处理下方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingBelowPegPriceType ENUM NO 参阅 关于挂钩订单参数的注意事项
pendingBelowPegOffsetType ENUM NO
pendingBelowPegOffsetValue INT NO
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
根据 pendingAboveType pendingBelowType 或者workingType的不同值对于某些参数的强制要求
根据 pendingAboveType pendingBelowType 或者workingType的不同值对于某些可选参数有强制要求具体如下
类型 强制要求的参数 其他信息
workingType = LIMIT workingTimeInForce
pendingAboveType = LIMIT_MAKER pendingAbovePrice
pendingAboveType = STOP_LOSS/TAKE_PROFIT pendingAboveStopPrice 与/或 pendingAboveTrailingDelta
pendingAboveType = STOP_LOSS_LIMIT/TAKE_PROFIT_LIMIT pendingAbovePrice pendingAboveStopPrice 与/或 pendingAboveTrailingDelta pendingAboveTimeInForce
pendingBelowType = LIMIT_MAKER pendingBelowPrice
pendingBelowType = STOP_LOSS/TAKE_PROFIT pendingBelowStopPrice 与/或 pendingBelowTrailingDelta
pendingBelowType = STOP_LOSS_LIMIT/TAKE_PROFIT_LIMIT pendingBelowPrice pendingBelowStopPrice 与/或 pendingBelowTrailingDelta pendingBelowTimeInForce
数据源: 撮合引擎
响应:
{
"orderListId": 1,
"contingencyType": "OTO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "RumwQpBaDctlUu5jyG5rs0",
"transactionTime": 1712291372842,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 6,
"clientOrderId": "fM9Y4m23IFJVCQmIrlUmMK"
},
{
"symbol": "LTCBTC",
"orderId": 7,
"clientOrderId": "6pcQbFIzTXGZQ1e2MkGDq4"
},
{
"symbol": "LTCBTC",
"orderId": 8,
"clientOrderId": "r4JMv9cwAYYUwwBZfbussx"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"orderId": 6,
"orderListId": 1,
"clientOrderId": "fM9Y4m23IFJVCQmIrlUmMK",
"transactTime": 1712291372842,
"price": "1.00000000",
"origQty": "1.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"workingTime": 1712291372842,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "LTCBTC",
"orderId": 7,
"orderListId": 1,
"clientOrderId": "6pcQbFIzTXGZQ1e2MkGDq4",
"transactTime": 1712291372842,
"price": "1.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "IOC",
"type": "STOP_LOSS_LIMIT",
"side": "BUY",
"stopPrice": "6.00000000",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "LTCBTC",
"orderId": 8,
"orderListId": 1,
"clientOrderId": "r4JMv9cwAYYUwwBZfbussx",
"transactTime": 1712291372842,
"price": "3.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "BUY",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
}
]
}
注意: 上面的 payload 没有显示所有可以出现的字段,更多请看 订单响应中的特定条件时才会出现的字段 部分。
New Order List - OPOTRADE
POST /api/v3/orderList/opo
发送一个新的 OPO 订单。
OPO 会向 EXCHANGE_MAX_NUM_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中添加 2 个订单。
权重: 1
未成交订单计数: 2
参数:
名称 类型 必填 描述
symbol STRING YES
listClientOrderId STRING NO 订单列表中的唯一 ID。如果未发送则自动生成。只有当之前的同一 listClientOrderId 的订单列表已成交或完全过期后,才接受新的同一 listClientOrderId 的订单列表。listClientOrderId 与 workingClientOrderId 和 pendingClientOrderId 不同。
newOrderRespType ENUM NO JSON 响应格式。支持的数值:订单返回类型
selfTradePreventionMode ENUM NO 允许的数值取决于交易对的配置。支持的数值STP模式
workingType ENUM YES 支持的数值LIMITLIMIT_MAKER
workingSide ENUM YES 支持的数值:订单方向
workingClientOrderId STRING NO 生效订单中挂单的任意唯一 ID。如果未发送则自动生成。
workingPrice DECIMAL YES 生效订单价格
workingQuantity DECIMAL YES 设置生效订单的数量
workingIcebergQty DECIMAL NO 仅当 workingTimeInForce 为 GTC 或 workingType 为 LIMIT_MAKER 时可用
workingTimeInForce ENUM NO 支持的数值:生效时间
workingStrategyId LONG NO 用于标识订单策略中生效订单的任意数字值
workingStrategyType INT NO 用于标识生效订单策略的任意数字值。小于 1000000 的值为保留值,不能使用。
workingPegPriceType ENUM NO 详见 挂钩订单
workingPegOffsetType ENUM NO
workingPegOffsetValue INT NO
pendingType ENUM YES 支持的数值:订单类型。注意,不支持使用 quoteOrderQty 的 MARKET 订单。
pendingSide ENUM YES 支持的数值:订单方向
pendingClientOrderId STRING NO 待执行订单中挂单的任意唯一 ID。如果未发送则自动生成。
pendingPrice DECIMAL NO 待执行订单价格
pendingStopPrice DECIMAL NO 待执行订单止损价格
pendingTrailingDelta DECIMAL NO 待执行订单跟踪止损差值
pendingIcebergQty DECIMAL NO 仅当 pendingTimeInForce 为 GTC 或 pendingType 为 LIMIT_MAKER 时可用
pendingTimeInForce ENUM NO 支持的数值:生效时间
pendingStrategyId LONG NO 用于标识订单策略中待执行订单的任意数字值
pendingStrategyType INT NO 用于标识待执行订单策略的任意数字值。小于 1000000 的值为保留值,不能使用。
pendingPegPriceType ENUM NO 详见 挂钩订单
pendingPegOffsetType ENUM NO
pendingPegOffsetValue INT NO
recvWindow DECIMAL NO 该值不能大于 60000。支持最多三位小数精度例如 6000.346),以便指定微秒。
timestamp LONG YES 时间戳
数据来源:撮合引擎
响应示例:
{
"orderListId": 0,
"contingencyType": "OTO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "H94qCqO27P74OEiO4X8HOG",
"transactionTime": 1762998011671,
"symbol": "BTCUSDT",
"orders": [
{
"symbol": "BTCUSDT",
"orderId": 2,
"clientOrderId": "JX6xfdjo0wysiGumfHNmPu"
},
{
"symbol": "BTCUSDT",
"orderId": 3,
"clientOrderId": "2ZJCY0IjOhuYIMLGN8kU8S"
}
],
"orderReports": [
{
"symbol": "BTCUSDT",
"orderId": 2,
"orderListId": 0,
"clientOrderId": "JX6xfdjo0wysiGumfHNmPu",
"transactTime": 1762998011671,
"price": "102264.00000000",
"origQty": "0.00060000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"workingTime": 1762998011671,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "BTCUSDT",
"orderId": 3,
"orderListId": 0,
"clientOrderId": "2ZJCY0IjOhuYIMLGN8kU8S",
"transactTime": 1762998011671,
"price": "0.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "GTC",
"type": "MARKET",
"side": "SELL",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
}
]
}
注意: 上面的 payload 没有显示所有可以出现的字段,更多请看 订单响应中的特定条件时才会出现的字段 部分。
New Order List - OPOCO (../TRADE
POST /api/v3/orderList/opoco
发送一个 OPOCO 订单。
权重: 1
未成交订单计数: 3
参数:
名称 类型 必填 描述
symbol STRING YES 交易对符号
listClientOrderId STRING NO 订单列表中的任意唯一 ID。如果未发送则自动生成。只有当之前的同一 listClientOrderId 的订单列表已成交或完全过期时,才接受新的同一 listClientOrderId 的订单列表。listClientOrderId 与 workingClientOrderId、pendingAboveClientOrderId 和 pendingBelowClientOrderId 不同。
newOrderRespType ENUM NO JSON 响应格式。支持的数值:订单返回类型
selfTradePreventionMode ENUM NO 允许的值取决于交易对的配置。支持的数值STP模式
workingType ENUM YES 支持的数值LIMITLIMIT_MAKER
workingSide ENUM YES 支持的数值:订单方向
workingClientOrderId STRING NO 生效订单中挂单的任意唯一 ID。如果未发送则自动生成。
workingPrice DECIMAL YES 生效订单价格
workingQuantity DECIMAL YES 生效订单数量
workingIcebergQty DECIMAL NO 仅当 workingTimeInForce 为 GTC 或 workingType 为 LIMIT_MAKER 时可用
workingTimeInForce ENUM NO 支持的数值:生效时间
workingStrategyId LONG NO 用于标识订单策略中生效订单的任意数字值
workingStrategyType INT NO 用于标识生效订单策略的任意数字值。小于 1000000 的值为保留值,不能使用。
workingPegPriceType ENUM NO 详见 挂钩订单
workingPegOffsetType ENUM NO
workingPegOffsetValue INT NO
pendingSide ENUM YES 支持的数值:订单方向
pendingAboveType ENUM YES 支持的数值STOP_LOSS_LIMITSTOP_LOSSLIMIT_MAKERTAKE_PROFITTAKE_PROFIT_LIMIT
pendingAboveClientOrderId STRING NO 待执行“上方”订单中开放订单的任意唯一 ID。如果未发送则自动生成。
pendingAbovePrice DECIMAL NO 当 pendingAboveType 为 STOP_LOSS_LIMIT、LIMIT_MAKER 或 TAKE_PROFIT_LIMIT 时,可用于指定限价。
pendingAboveStopPrice DECIMAL NO 当 pendingAboveType 为 STOP_LOSS、STOP_LOSS_LIMIT、TAKE_PROFIT、TAKE_PROFIT_LIMIT 时可用。
pendingAboveTrailingDelta DECIMAL NO 详见 追踪止盈止损常见问题
pendingAboveIcebergQty DECIMAL NO 仅当 pendingAboveTimeInForce 为 GTC 或 pendingAboveType 为 LIMIT_MAKER 时可用。
pendingAboveTimeInForce ENUM NO
pendingAboveStrategyId LONG NO 用于标识订单策略中待执行上方订单的任意数字值。
pendingAboveStrategyType INT NO 用于标识待执行上方订单策略的任意数字值。小于 1000000 的值为保留值,不能使用。
pendingAbovePegPriceType ENUM NO 详见 挂钩订单
pendingAbovePegOffsetType ENUM NO
pendingAbovePegOffsetValue INT NO
pendingBelowType ENUM NO 支持的数值STOP_LOSSSTOP_LOSS_LIMITTAKE_PROFITTAKE_PROFIT_LIMIT
pendingBelowClientOrderId STRING NO 待执行“下方”订单中开放订单的任意唯一 ID。如果未发送则自动生成。
pendingBelowPrice DECIMAL NO 当 pendingBelowType 为 STOP_LOSS_LIMIT 或 TAKE_PROFIT_LIMIT 时,可用于指定限价。
pendingBelowStopPrice DECIMAL NO 当 pendingBelowType 为 STOP_LOSS、STOP_LOSS_LIMIT、TAKE_PROFIT 或 TAKE_PROFIT_LIMIT 时可用。pendingBelowStopPrice、pendingBelowTrailingDelta 或两者之一必须被指定。
pendingBelowTrailingDelta DECIMAL NO
pendingBelowIcebergQty DECIMAL NO 仅当 pendingBelowTimeInForce 为 GTC 或 pendingBelowType 为 LIMIT_MAKER 时可用。
pendingBelowTimeInForce ENUM NO 支持的数值:生效时间
pendingBelowStrategyId LONG NO 用于标识订单策略中待执行下方订单的任意数字值。
pendingBelowStrategyType INT NO 用于标识待执行下方订单策略的任意数字值。小于 1000000 为保留值,不能使用。
pendingBelowPegPriceType ENUM NO 详见 挂钩订单
pendingBelowPegOffsetType ENUM NO
pendingBelowPegOffsetValue INT NO
recvWindow DECIMAL NO 该值不能大于 60000。支持最多三位小数精度例如 6000.346),以便指定微秒。
timestamp LONG YES 时间戳
响应:
{
"orderListId": 2,
"contingencyType": "OTO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "bcedxMpQG6nFrZUPQyshoL",
"transactionTime": 1763000506354,
"symbol": "BTCUSDT",
"orders": [
{
"symbol": "BTCUSDT",
"orderId": 9,
"clientOrderId": "OLSBhMWaIlLSzZ9Zm7fnKB"
},
{
"symbol": "BTCUSDT",
"orderId": 10,
"clientOrderId": "mfif39yPTHsB3C0FIXznR2"
},
{
"symbol": "BTCUSDT",
"orderId": 11,
"clientOrderId": "yINkaXSJeoi3bU5vWMY8Z8"
}
],
"orderReports": [
{
"symbol": "BTCUSDT",
"orderId": 9,
"orderListId": 2,
"clientOrderId": "OLSBhMWaIlLSzZ9Zm7fnKB",
"transactTime": 1763000506354,
"price": "102496.00000000",
"origQty": "0.00170000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"workingTime": 1763000506354,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "BTCUSDT",
"orderId": 10,
"orderListId": 2,
"clientOrderId": "mfif39yPTHsB3C0FIXznR2",
"transactTime": 1763000506354,
"price": "101613.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "GTC",
"type": "STOP_LOSS_LIMIT",
"side": "SELL",
"stopPrice": "10100.00000000",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "BTCUSDT",
"orderId": 11,
"orderListId": 2,
"clientOrderId": "yINkaXSJeoi3bU5vWMY8Z8",
"transactTime": 1763000506354,
"price": "104261.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "SELL",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
}
]
}
注意: 上面的 payload 没有显示所有可以出现的字段,更多请看 订单响应中的特定条件时才会出现的字段 部分。
取消订单列表 (TRADE)
DELETE /api/v3/orderList
取消整个订单列表。
权重: 1
参数:
名称 类型 是否必需 描述
symbol STRING YES
orderListId LONG NO orderListId 或 listClientOrderId 必须被提供
listClientOrderId STRING NO orderListId 或 listClientOrderId 必须被提供
newClientOrderId STRING NO 用户自定义的本次撤销操作的ID(注意不是被撤销的订单的自定义ID)。如无指定会自动赋值。
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
其他注意点:
取消订单列表中的单个订单将取消整个订单列表.
当同时提供 orderListId 和 listClientOrderId 两个参数时,系统首先将会使用 orderListId 来搜索订单。然后, 查找结果中的 listClientOrderId 的值将会被用来验证订单。如果两个条件都不满足,则请求将被拒绝。
数据源: 撮合引擎
响应:
{
"orderListId": 0,
"contingencyType": "OCO",
"listStatusType": "ALL_DONE",
"listOrderStatus": "ALL_DONE",
"listClientOrderId": "C3wyj4WVEktd7u9aVBRXcN",
"transactionTime": 1574040868128,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 2,
"clientOrderId": "pO9ufTiFGg3nw2fOdgeOXa"
},
{
"symbol": "LTCBTC",
"orderId": 3,
"clientOrderId": "TXOvglzXuaubXAaENpaRCB"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"origClientOrderId": "pO9ufTiFGg3nw2fOdgeOXa",
"orderId": 2,
"orderListId": 0,
"clientOrderId": "unfWT8ig8i0uj6lPuYLez6",
"transactTime": 1688005070874,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "STOP_LOSS_LIMIT",
"side": "SELL",
"stopPrice": "1.00000000"
},
{
"symbol": "LTCBTC",
"origClientOrderId": "TXOvglzXuaubXAaENpaRCB",
"orderId": 3,
"orderListId": 0,
"clientOrderId": "unfWT8ig8i0uj6lPuYLez6",
"transactTime": 1688005070874,
"price": "3.00000000",
"origQty": "10.00000000",
"executedQty": "0.00000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "0.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "SELL"
}
]
}
SOR
下 SOR 订单 (TRADE)
POST /api/v3/sor/order
发送使用智能订单路由 (SOR) 的新订单。
这个请求会把1个订单添加到 EXCHANGE_MAX_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。
参阅 智能指令路由 (SOR) 了解更多详情。
权重: 1
未成交的订单计数: 1
参数:
名称 类型 是否必需 描述
symbol STRING YES
side ENUM YES
type ENUM YES
timeInForce ENUM NO
quantity DECIMAL YES
price DECIMAL NO
newClientOrderId STRING NO 用户自定义的orderid如空缺系统会自动赋值。如果几个订单具有相同的 newClientOrderID 赋值,
那么只有在前一个订单成交后才可以接受下一个订单,否则该订单将被拒绝。
strategyId LONG NO
strategyType INT NO 赋值不能小于 1000000.
icebergQty DECIMAL NO 仅有限价单可以使用该参数,含义为创建冰山订单并指定冰山订单的数量。
newOrderRespType ENUM NO 指定响应类型:
指定响应类型 ACK, RESULT 或 FULL; 默认为 FULL。
selfTradePreventionMode ENUM NO 允许的 ENUM 取决于交易对的配置。支持的值有STP 模式。
recvWindow DECIMAL NO 最大值为 60000 毫秒。
支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。
timestamp LONG YES
请注意: POST /api/v3/sor/order 只支持 限价 和 市场 单, 并不支持 quoteOrderQty。
数据源: 撮合引擎
响应:
{
"symbol": "BTCUSDT",
"orderId": 2,
"orderListId": -1,
"clientOrderId": "sBI1KM6nNtOfj5tccZSKly",
"transactTime": 1689149087774,
"price": "31000.00000000",
"origQty": "0.50000000",
"executedQty": "0.50000000",
"origQuoteOrderQty": "0.000000",
"cummulativeQuoteQty": "14000.00000000",
"status": "FILLED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"workingTime": 1689149087774,
"fills": [
{
"matchType": "ONE_PARTY_TRADE_REPORT",
"price": "28000.00000000",
"qty": "0.50000000",
"commission": "0.00000000",
"commissionAsset": "BTC",
"tradeId": -1,
"allocId": 0
}
],
"workingFloor": "SOR",
"selfTradePreventionMode": "NONE",
"usedSor": true
}
测试 SOR 下单接口 (TRADE)
POST /api/v3/sor/order/test
用于测试使用智能订单路由 (SOR) 的订单请求,但不会提交到撮合引擎
权重:
条件 请求权重
没有 computeCommissionRates 1
有 computeCommissionRates 20
参数:
除了 POST /api/v3/sor/order 所有参数, 如下参数也接受:
参数名 类型 是否必需 描述
computeCommissionRates BOOLEAN NO 默认值: false
数据源: 缓存
响应:
没有 computeCommissionRates
{}
有 computeCommissionRates
{
"standardCommissionForOrder": { // 订单交易的标准佣金率。
"maker": "0.00000112",
"taker": "0.00000114"
},
"taxCommissionForOrder": { // 订单交易的税率。
"maker": "0.00000112",
"taker": "0.00000114"
},
"discount": { // 以BNB支付时的标准佣金折扣。
"enabledForAccount": true,
"enabledForSymbol": true,
"discountAsset": "BNB",
"discount": "0.25000000" // 当用BNB支付佣金时在标准佣金上按此比率打折。
}
}