行情服务器连接正常
Market data farm connection is OK 是 TWS API 最常见的系统信息之一。它通常对应代码 2104,意思是行情服务器连接正常。
它为什么出现在 error 回调里
Section titled “它为什么出现在 error 回调里”TWS API 历史设计里,系统状态、警告和错误都通过 error() 回调发送。因此看到 error() 并不代表程序失败。
连接 TWS 后可能收到:
INFO_CODES=2104,2104,2104,2104,2106,2106,2158这些信息表示相关服务连接正常:
| 代码 | 常见说明 |
|---|---|
2104 | 行情服务器连接正常。 |
2106 | 历史数据服务器连接正常。 |
2158 | 安全定义数据服务器连接正常。 |
程序应该怎么处理
Section titled “程序应该怎么处理”INFO_CODES = {2103, 2104, 2105, 2106, 2107, 2108, 2158}
def error(self, reqId, errorTime, errorCode, errorString, advancedOrderRejectJson=""): if errorCode in INFO_CODES: print("连接状态信息:", errorCode, errorString) return
print("需要处理的错误:", reqId, errorCode, errorString)不要因为收到 2104 就断开重连。频繁重连反而可能让问题更难排查。
什么时候需要关注
Section titled “什么时候需要关注”| 情况 | 是否关注 |
|---|---|
启动后收到 2104 | 正常。 |
启动后收到 2106 | 正常。 |
| 运行中反复收到断开和恢复 | 需要检查网络、TWS 状态或 IBKR 服务状态。 |
| 同时有请求级错误 | 先看请求级错误的 reqId 和错误码。 |
如果行情服务器连接正常,但某个标的仍然没有行情,下一步应检查行情权限、合约字段和市场状态。