Skip to content

Latest commit

 

History

History
168 lines (119 loc) · 7.16 KB

order_count_decrement_CN.md

File metadata and controls

168 lines (119 loc) · 7.16 KB

现货未成交订单计数规则

为确保公平有序的现货市场,我们限制了新订单的下达率。

速率限制适用于在时间间隔内下达的新的、未成交的订单数量。也就是说,部分或全部成交的订单不计入速率限制。

Note

未成交的订单速率限制奖励高效的交易者。 只要您的订单成交,您就可以继续交易。 详细信息:已成交订单如何影响速率限制?

当前的速率限制是多少?

您可以使用 "exchange information" 请求查询当前的速率限制。

"rateLimitType": "ORDERS" 表示当前未成交的订单速率限制。

请参考 API 文档:

API 请求
FIX API LimitQuery<XLQ>
REST API GET /api/v3/exchangeInfo
WebSocket API exchangeInfo

Important

下单请求还受到 REST 和 WebSocket API 上的常规请求速率限制以及 FIX API 上的消息限制的影响。 如果您以高速率发送过多的请求,您将会被 API 阻止。

如何运作未成交的 ORDERS 速率限制?

每次成功下单的请求都会增加当前时间间隔内的未成交订单计数。如果在时间间隔内累积了太多未成交的订单,后续的请求将被拒绝。

例如,如果未成交的订单速率限制为每 10 秒 100 个:

{
  "rateLimitType": "ORDERS",
  "interval": "SECOND",
  "intervalNum": 10,
  "limit": 100
}

那么,您在 12:34:00 到 12:34:10 之间最多可以下 100 个新订单,然后在 12:34:10 到 12:34:20 之间再下 100 个新订单,依此类推。

Tip

如果新下的订单成交,那么您的未成交订单数量会减少,您可能会在该时间间隔内下更多的订单。 详细信息:已成交订单如何影响速率限制?

当订单因未成交订单速率限制而被系统拒绝时,HTTP 状态代码会被设置为429 Too Many Requests,错误代码为-1015 "Too many new orders"

如果您遇到这些错误,请停止发送订单,直到受影响的速率限制间隔到期。

请参考 API 文档:

API 文档
FIX API 未成交订单计数
REST API 未成交订单计数
WebSocket API 未成交订单计数

是否按 IP 地址来统计未成交的订单计数?

未成交订单计数是根据 (子)账户 来统计的。

未成交订单计数在所有 IP 地址、所有 API 密钥和所有 API 之间共享。

已成交的订单如何影响未成交的订单数量?

当订单首次(部分或全部)成交时,在 ORDERS 速率限制的所有时间间隔内,您的未成交订单数量将会减少一个订单。实际上,已成交的订单不计入速率限制,这将允许高效的交易者继续下新订单。

某些订单会提供额外的激励:

  • 未立即成交的订单(即,在 maker 阶段首次成交)。
  • 大批量成交的订单。

在这些情况下,对于每个开始交易的订单,未成交的订单数量可能会减少多个订单。

注意:

  • 这些示例仅给出了相关行为的通用概念。 为了简单起见,请使用 10 秒间隔。实时交易平台上的实际配置可能会有所不同。
  • 在正在执行的订单和未成交订单计数更新之间有短暂的延迟。当您的未成交订单数量接近限制时,请务必小心。
  • 请参考 如何运作未成交的 ORDERS 速率限制? 以了解如何根据 API 来监控未成交订单计数。

例 1 — taker:

时间 操作 未成交订单数量
00:00:00 0
00:00:01 下订单 A (限价单) 1 — 新订单 (+1)
00:00:02 下订单 B (限价单) 2 — 新订单 (+1)
(订单 B 部分成交) 1 — 作为 taker 首次成交 (−1)
00:00:03 下订单 C (限价单) 2 — 新订单 (+1)
00:00:04 (订单 B 部分成交) 2
00:00:04 (订单 B 已成交) 2
00:00:05 下订单 D (市价单) 3 — 新订单 (+1)
(订单 D 全部成交) 2 — 作为 taker 首次成交 (−1)

请注意,对于每个立即交易的 taker 订单,未成交的订单数量稍后会减少,从而允许您继续下单。

例 2 — maker:

时间 操作 未成交订单数量
00:00:00 0
00:00:01 下订单 A (限价单) 1 — 新订单 (+1)
00:00:01 下订单 B (限价单) 2 — 新订单 (+1)
00:00:02 下订单 C (限价单) 3 — 新订单 (+1)
00:00:02 下订单 D (限价单) 4 — 新订单 (+1)
00:00:02 下订单 E (限价单) 5 — 新订单 (+1)
00:00:03 (订单 A 部分成交) 0 — 作为 maker 首次成交 (−5)
00:00:04 下订单 F (限价单) 1 — 新订单 (+1)
00:00:04 下订单 G (限价单) 2 — 新订单 (+1)
00:00:05 (订单 A 部分成交) 2
00:00:05 (订单 A 已成交) 2
00:00:05 (订单 B 部分成交) 0 — 作为 maker 首次成交 (−5)
00:00:06 下订单 H (限价单) 1 — 新订单 (+1)

请注意,对于稍后执行的每个 maker 单,未执行的订单数量会减去更高的数量,从而允许您下更多订单。

取消或过期的订单如何影响未成交的订单数量?

取消订单不会更改未成交的订单计数。

过期的订单也不会改变未成交的订单计数。

例:

时间 操作 未成交订单数量
00:00:00 0
00:00:01 下订单 A (限价单) 1 — 新订单 (+1)
00:00:02 取消订单 A 1
00:00:02 下订单 B (限价单) 2 — 新订单(+1)
00:00:03 下订单 C (限价 FOK 单) 3 — 新订单 (+1)
(订单 C 已成交) 2 — fill (−1)
00:00:05 下订单 D (限价单) 3 — 新订单 (+1)
00:00:06 下订单 E (限价 FOK 单) 4 — 新订单 (+1)
(订单 E 过期且没有成交) 4
00:00:07 取消订单 D 4
00:00:07 下订单 F (限价单) 5 — 新订单 (+1)

interval:DAY 使用哪个时区?

UTC。

如果我昨天下了订单,但第二天才成交,会发生什么情况?

无论订单是何时成交的,新成交的订单都会减少您当前未成交的订单数量。

例:

时间 操作 未成交订单数量
2024-01-01 09:00 下 5 个订单: 1..5 5
2024-01-02 00:00 (速率间隔重置) 0
2024-01-02 09:00 下 10 个订单: 6..15 10
2024-01-02 12:00 (订单 1...5 已成交) 5
2024-01-02 13:00 (订单 6...10 已成交) 0
2024-01-02 14:00 下 2 个订单: 16, 17 2
2024-01-02 15:00 (订单 11...15 已成交) 0

注意: 您不会因订单的成交而获得信用。也就是说,一旦未成交的订单数量减少到零,额外的成交将不会进一步影响未成交订单计数。新订单将像依旧增加计数。