跳转到内容

永不锁定交易工作站设置

TWS 是带界面的交易终端。它可能因为安全策略、空闲时间、每日重启或每周认证而锁定或退出。对 API 程序来说,TWS 一旦锁定或退出,Socket 连接就会中断。

官方位置通常在:

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

如果程序只做几分钟的手动测试,TWS 锁定影响不大。
如果程序要持续跑行情、账户监控、订单状态或服务器任务,就必须考虑锁定问题。

推荐思路:

场景建议
桌面短时间测试可以保持默认,但要知道锁定后 API 会断开。
全天候运行选择 Never lock Trader Workstation,并配置自动重启。
服务器部署优先考虑 IB Gateway,而不是完整 TWS 界面。
IBHK 用户官方提示 TWS 里可能无法选择 Never lock Trader Workstation,更建议使用 IB Gateway。

Never lock Trader Workstation 只解决“空闲后 TWS 自动锁定界面”的问题。它不能解决所有断线问题,也不会绕过 IBKR 的登录认证要求。

问题是否由该选项解决说明
空闲一段时间后 TWS 锁定锁定后 API 连接通常会断开,长期连接应避免。
每日自动重启需要在 Lock and Exit 里单独设置自动重启时间。
每周重新认证需要人工完成登录认证,程序不能自动绕过。
IBKR 服务器维护维护期间可能断线,程序必须重连。
电脑休眠或断网需要操作系统、电源和网络层面单独配置。

Never lock Trader Workstation 不是“不需要重新登录”。
它只减少空闲锁屏造成的 API 中断。TWS / IB Gateway 仍然会受到每日重启、每周重新认证和 IBKR 后端维护的影响。

因此,程序必须处理:

  • 断线重连。
  • 行情订阅恢复。
  • 订单状态重新同步。
  • 每周手动认证提醒。

API 程序不应该假设 TWS 永远保持在线。更稳妥的结构是:

  1. 启动时检查是否收到 nextValidId()
  2. 收到断线或超时后进入重连流程。
  3. 重连后重新请求账户、持仓、未完成订单和必要行情订阅。
  4. 对自动重启时间附近的订单逻辑做保护,避免在 TWS 退出过程中提交关键订单。

Global Configuration -> Lock and Exit / 锁定并退出 页面,重点检查:

检查项说明
Never lock Trader Workstation减少空闲锁定导致的 API 断开。
自动退出或自动重启时间避开开盘、收盘、调仓、风控结算等敏感时间。
保存设置修改后确认应用并保存,必要时重启 TWS 检查是否生效。

这些设置说明的是空闲锁定和每日自动重启,不是每周重新认证开关。每周重新认证通常表现为登录阶段的认证提示或登录失败提示,需要人工重新登录完成。

官方文档提示,IBHK API 用户更推荐使用 IB Gateway,因为部分 IBHK 用户不能在 TWS 中选择 Never Lock Trader Workstation,空闲锁定会导致 API 断开。