为了提高现货交易的效率, 我们优化了下单频率限制的计算规则。当一个订单被全部或者部分成交时,10秒和24小时内的下单量(order counts)会有返回。
当任何订单第一次成交的时候(部分或者全部), 账号在10秒和24小时内的下单数量减1。最终的效果是任何部分或者全部成交的订单都不会被计算进账户的下单数量。
下单的接口(比如 POST /api/v3/order
) 的返回中会包含表示当前24小时下单量的字段 X-MBX-ORDER-COUNT-24H
。下面是下单的示例,以及对应X-MBX-ORDER-COUNT-24H
字段的值:
时间 | 事件 | X-MBX-ORDER-COUNT-24H |
---|---|---|
T1 | 下订单A(限价单) | 1 (限价单A 算入) |
T2 | 下订单B(限价单) | 2 (限价单B 算入) |
T3 | 订单A部分成交 | 1 (限价单A 退回) |
T4 | 订单A部分成交 | 1 (没有退回) |
T5 | 下订单C(限价单) | 2 (限价单C 算入) |
T5 | 下订单D(限价单) | 3 (限价单D 算入) |
T6 | 订单C成交 | 2 (限价单C 退回) |
T7 | 订单B成交 | 1 (限价单B 退回) |
T8 | 下订单E(市价单) | 2 (市价单E 算入*) (见如下备注) |
T9 | 市价单E成交 | 1 (市价单E 退回*) (见如下备注) |
T10 | 下订单F(市价单,没有成交) | 2 (市价单F 算入) |
下单量的退回同样会体现在10秒的下单窗口。如上以24小时窗口为例。
- 下单量的退回是异步的处理过程, 从订单成交到下单量的退回有一个短暂的延迟。所以立刻成交的订单(比如成交的市价单)会在订单成交时刻返回下单数, 但不会包括退回数量。 退回后的下单数量会在1000ms之内发生。
UTC
在 UTC 00:00:00 的时候,24小时窗口下单量会重置。如果下一个订单在UTC某一天 (比如 UTC 23:59:00),然后进入下一日成交 (比如 UTC 00:01:00), 下单量的退回会基于当前时间窗口。相同的逻辑也适用于10秒时间窗口。