凌晨三点,我的网格交易机器人突然抛出这个报错:

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.binance.com', port=443):
  Max retries exceeded with url: /api/v3/ticker/price (Caused by ConnectTimeoutError(
  <urllib3.connection.HTTPSConnection object at 0x7f8>,
  Connection to api.binance.com timed out. (connect timeout=3)))
  File "strategy.py", line 47, in fetch_ticker
    r = requests.get('https://api.binance.com/api/v3/ticker/price', timeout=3)

这是我在 2025 年做 ETH 永续做市策略时遇到的真实场景:每秒钟发起 5 次 REST 轮询,不仅在海外链路波动时频繁 timeout,更致命的是——Binance REST 行情接口的 weight 限速是 1200/min,单个连接根本撑不住多币种订阅。我改用 WebSocket 后,订单簿 P50 延迟从 312ms 降到 38ms,滑点直接腰斩。下面我把这一年踩过的坑、实测的