永不锁定交易工作站设置
TWS 是带界面的交易终端。它可能因为安全策略、空闲时间、每日重启或每周认证而锁定或退出。对 API 程序来说,TWS 一旦锁定或退出,Socket 连接就会中断。
官方位置通常在:
File / 文件 -> Global Configuration / 全局配置 -> Lock and Exit / 锁定并退出为什么要设置
Section titled “为什么要设置”如果程序只做几分钟的手动测试,TWS 锁定影响不大。
如果程序要持续跑行情、账户监控、订单状态或服务器任务,就必须考虑锁定问题。
推荐思路:
| 场景 | 建议 |
|---|---|
| 桌面短时间测试 | 可以保持默认,但要知道锁定后 API 会断开。 |
| 全天候运行 | 选择 Never lock Trader Workstation,并配置自动重启。 |
| 服务器部署 | 优先考虑 IB Gateway,而不是完整 TWS 界面。 |
| IBHK 用户 | 官方提示 TWS 里可能无法选择 Never lock Trader Workstation,更建议使用 IB Gateway。 |
这个选项解决什么问题
Section titled “这个选项解决什么问题”Never lock Trader Workstation 只解决“空闲后 TWS 自动锁定界面”的问题。它不能解决所有断线问题,也不会绕过 IBKR 的登录认证要求。
| 问题 | 是否由该选项解决 | 说明 |
|---|---|---|
| 空闲一段时间后 TWS 锁定 | 是 | 锁定后 API 连接通常会断开,长期连接应避免。 |
| 每日自动重启 | 否 | 需要在 Lock and Exit 里单独设置自动重启时间。 |
| 每周重新认证 | 否 | 需要人工完成登录认证,程序不能自动绕过。 |
| IBKR 服务器维护 | 否 | 维护期间可能断线,程序必须重连。 |
| 电脑休眠或断网 | 否 | 需要操作系统、电源和网络层面单独配置。 |
和每日重启的关系
Section titled “和每日重启的关系”Never lock Trader Workstation 不是“不需要重新登录”。
它只减少空闲锁屏造成的 API 中断。TWS / IB Gateway 仍然会受到每日重启、每周重新认证和 IBKR 后端维护的影响。
因此,程序必须处理:
- 断线重连。
- 行情订阅恢复。
- 订单状态重新同步。
- 每周手动认证提醒。
API 程序不应该假设 TWS 永远保持在线。更稳妥的结构是:
- 启动时检查是否收到
nextValidId()。 - 收到断线或超时后进入重连流程。
- 重连后重新请求账户、持仓、未完成订单和必要行情订阅。
- 对自动重启时间附近的订单逻辑做保护,避免在 TWS 退出过程中提交关键订单。
在 Global Configuration -> Lock and Exit / 锁定并退出 页面,重点检查:
| 检查项 | 说明 |
|---|---|
Never lock Trader Workstation | 减少空闲锁定导致的 API 断开。 |
| 自动退出或自动重启时间 | 避开开盘、收盘、调仓、风控结算等敏感时间。 |
| 保存设置 | 修改后确认应用并保存,必要时重启 TWS 检查是否生效。 |
这些设置说明的是空闲锁定和每日自动重启,不是每周重新认证开关。每周重新认证通常表现为登录阶段的认证提示或登录失败提示,需要人工重新登录完成。
官方文档提示,IBHK API 用户更推荐使用 IB Gateway,因为部分 IBHK 用户不能在 TWS 中选择 Never Lock Trader Workstation,空闲锁定会导致 API 断开。