交易工具

幣安 API 限速怎麼處理 weight 是什麼意思

2026-04-23 · 5 分鐘閱讀

API 限速讓大量請求被拒本文講清 weight order 兩套限制和如何優雅退避。

API 限速是量化策略最容易踩的坑。先在 幣安官網 建立 API Key,APP 用 幣安官方APP(iOS 見 iOS安裝教程)。

兩套限速

幣安 API 有兩個獨立的限速維度:

1. Weight(權重)

每個介面有 weight 值。每分鐘總和不能超過限制。

等級 每分鐘 weight
普通 1200
VIP 1 2400
VIP 2 3600
... 一路上去

2. Order(訂單數)

下單介面的額外限制:

時間窗 訂單數
10 秒 100
1 天 200000

任一超限 = 暫時被禁。

各介面 weight

常用:

介面 weight
行情快照 1
訂單簿 5 檔 1
訂單簿 100 檔 5
訂單簿 1000 檔 50
K 線 1
下單 1
撤單 1
賬戶資訊 10

deep order book 拉一次 50 weight,每分鐘最多 24 次。

響應頭

每次 API 返回 header 裡有:

  • X-MBX-USED-WEIGHT-1M:當前分鐘已用 weight
  • X-MBX-ORDER-COUNT-10S:當前 10 秒已下單數

監控這兩個值,提前減速。

超限的後果

429 錯誤:臨時禁用,等幾秒。 418 錯誤:再觸發 → 永久禁。

418 之後只能等 24 小時甚至幾天才解封。不要硬撞

優雅退避

import time

while True:
    try:
        result = api_call()
        weight_used = int(headers.get('X-MBX-USED-WEIGHT-1M', 0))
        if weight_used > 1000:
            time.sleep(10)  # 減速
        return result
    except RateLimitError:
        time.sleep(60)  # 等一分鐘

縮減 weight 的技巧

1. 減少深度檔位

只要 5 檔就別拉 1000 檔。weight 5 倍差。

2. WebSocket 替代

價格、訂單簿、K 線都可以用 WS 實時推送。WS 不計 weight。

3. 批次介面

/api/v3/batchOrders 一次 5 單。比迴圈 5 次 5 weight 更便宜。

4. 快取

不需要每秒都查的資料快取幾秒。

WebSocket 優勢

資料 REST weight WS
行情 每次 1 推送,0 weight
訂單簿 1-50 推送
K 線 1 推送

策略框架:

  • WS 實時資料流(無 weight 消耗)
  • REST 只在下單 / 撤單時用

跨賬戶分散

多個 API Key(不同賬戶)天然分散 weight。

策略:

  • 主號 Key 用於下單
  • 子號 Key 用於查行情
  • weight 池子放大數倍

VIP 提升 weight

VIP 等級越高:

  • 每分鐘 weight 上限提升
  • 部分介面對 VIP 加寬
  • 比手續費節省更可觀

VIP 1 即讓 weight 翻倍。值得。

監控程式碼

class RateMonitor:
    def __init__(self):
        self.last_weight = 0
        self.alert_threshold = 1000
    
    def update(self, headers):
        used = int(headers.get('X-MBX-USED-WEIGHT-1M', 0))
        if used > self.alert_threshold:
            print(f"WARN: {used} / 1200")
        self.last_weight = used

常見錯誤

1. 迴圈裡全用 REST

每秒下單同時查持倉 + 查 K 線。weight 飛漲。

改用 WS 推送。

2. 不處理異常

429 出現沒 sleep,立刻再請求 → 觸發 418 永封。

3. 多 Key 共用 IP

雖然 Key 分開但 IP 限速也存在。同一 IP 多 Key 可能合併計數。

4. 不看 weight 頭

悶頭請求,撞牆才發現。

實盤前測試

testnet 跑高頻測試 → 看是否觸發 429 → 調整。

線上掛監控告警 → weight 接近上限提前告警 → 自動降速或停。

常見問題

問:429 多久解封? 答:通常幾秒到幾分鐘。期間不要再請求。

問:418 多久解封? 答:1 小時-24 小時。極端情況 7 天。

問:能申訴嗎? 答:可以聯絡客服。但通常沒用。等就完了。

問:weight 在不同介面共享嗎? 答:是。所有 weight 加起來 1200/min。

問:Order 限速是單 IP 還是單賬戶? 答:單賬戶。多 IP 不能繞開。

延伸閱讀

限速不可怕,可怕的是不知道有限速。監控好 weight,永遠不會被永封。