跳转到内容

每日重新认证

每日重新认证主要影响长时间运行的程序。TWS / IB Gateway 到达设定时间后可能自动退出、自动重启或要求重新登录,API Socket 会断开。

官方位置:

Global Configuration / 全局配置 -> Lock and Exit / 锁定并退出

官方建议 API 用户选择:

  • Never lock Trader Workstation
  • Auto restart

这样可以减少空闲锁定导致的断线,并让 TWS 在每日维护窗口后更容易恢复。

常见配置含义:

设置中文意思对 API 的影响
Never lock Trader Workstation不因空闲而锁定 TWS减少空闲锁屏导致的断线。
Auto restart到设定时间后自动重启API Socket 会断开,程序需要重新连接。
Auto logoff到设定时间后自动退出程序无法继续连接,通常不适合无人值守运行。
Save settings on server在服务器保存设置方便同账户环境恢复设置,但不能代替本地配置检查。

每日重启发生时,程序应该:

  1. 识别断线。
  2. 等待 TWS / IB Gateway 重新登录完成。
  3. 使用新的连接重新获取 nextValidId
  4. 重新订阅行情、账户、持仓和订单状态。

不要在断线瞬间立刻疯狂重连。更好的做法是按固定间隔重试,并在日志里清楚记录原因。

一个稳妥的重连流程可以写成:

发现连接断开
-> 等待几秒
-> 尝试连接 TWS / IB Gateway
-> 等待 nextValidId()
-> 拉取 open orders、positions、account values
-> 恢复必要行情订阅
-> 恢复策略状态

Auto restart 不等于 API 程序也会自动恢复。
TWS 重启只是客户端恢复,API 程序仍然要重新连接并恢复业务状态。

每日自动退出、自动重启和“不锁定 Trader Workstation”通常在这个位置设置:

Global Configuration / 全局配置 -> Lock and Exit / 锁定并退出

自动重启时间应结合自己的交易时段、服务器监控和 IBKR 维护窗口设置。不要把重启安排在开盘、收盘、定时调仓或风控结算附近。

官方 TWS API 文档把每日退出、自动重启和不锁定 TWS 放在 API 最佳实践设置中,提醒 API 程序需要处理断线和重新登录。