操作者时区
操作者时区是指 TWS 登录环境使用的时区。历史行情请求里如果只写:
官方参考:Historical Bar Data
20260612 15:59:00TWS 会按登录环境的时区理解这个时间。它适合临时手工测试,但不适合长期运行的服务器程序,因为服务器、Windows 桌面和 TWS 登录时区可能不一致。
end_time = "20260612 15:59:00"
app.reqHistoricalData( 97011, contract, end_time, # 没写时区,交给 TWS 操作者时区解释 "1 D", "30 mins", "TRADES", 1, 1, False, [],)| 项目 | 说明 |
|---|---|
| 优点 | 写法短,适合在固定 TWS 环境里临时确认 |
| 风险 | 换电脑、换服务器、换 TWS 登录时区后,含义可能变化 |
| 夏令时 | 夏令时切换附近更容易出现一小时偏移 |
| 文档示例 | 可以出现,但生产代码不建议依赖默认时区 |
什么时候可以用
Section titled “什么时候可以用”| 场景 | 是否推荐 |
|---|---|
| 新手在同一台 Windows 电脑上临时运行一次 | 可以 |
| 网站后端服务器自动跑任务 | 不推荐 |
| 多市场策略,例如美股加港股 | 不推荐 |
| 需要给用户复现问题 | 不推荐,最好写明交易所时区或 UTC |
把时间写成带时区的形式更稳:
end_time = "20260612 15:59:00 US/Eastern"或者在程序存储层全部换算为 UTC,再使用 UTC 格式请求。