跳转到内容

操作者时区

操作者时区是指 TWS 登录环境使用的时区。历史行情请求里如果只写:

官方参考:Historical Bar Data

20260612 15:59:00

TWS 会按登录环境的时区理解这个时间。它适合临时手工测试,但不适合长期运行的服务器程序,因为服务器、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 登录时区后,含义可能变化
夏令时夏令时切换附近更容易出现一小时偏移
文档示例可以出现,但生产代码不建议依赖默认时区
场景是否推荐
新手在同一台 Windows 电脑上临时运行一次可以
网站后端服务器自动跑任务不推荐
多市场策略,例如美股加港股不推荐
需要给用户复现问题不推荐,最好写明交易所时区或 UTC

把时间写成带时区的形式更稳:

end_time = "20260612 15:59:00 US/Eastern"

或者在程序存储层全部换算为 UTC,再使用 UTC 格式请求。