量化软件QMT开户实操指南!量化QMT时间戳转换别踩坑!
发布时间:4小时前阅读:26

量化QMT时间戳转换别踩坑
QMT里其实没有叫 format_datetime 的现成函数,你大概率是想把那一长串时间戳转成看得懂的日期。在本地客户端跑策略时,真正干活的是 timetag_to_datetime,它专门负责把 K 线自带的时间戳翻译成可读格式。
先搞清楚你手里的时间是什么
在 QMT 里直接写 Python 的 datetime.now() 是件很危险的事,尤其在回测时。它拿的是你电脑当前的物理时间,而不是 K 线在历史上那一刻的时间。正确姿势是先拿到 K 线索引,再取这根 K 线自带的时间戳。
具体来说,在 handlebar 里用 ContextInfo.barpos 拿到当前是第几根 K 线,然后丢给 ContextInfo.get_bar_timetag(),你会得到一个毫秒级的整数。这个数字才是策略该用的“历史此刻”。
转换的关键在格式字符串
拿到时间戳后,timetag_to_datetime 的第二个参数决定了输出长什么样。比如你想记日志,写成 '%Y-%m-%d %H:%M:%S' 出来的就是 2025-06-01 09:30:00 这种顺眼的样子。如果你习惯紧凑一点,用 '%Y%m%d %H%M%S' 也行,出来的就是 20250601 093000。格式符和 Python 标准那套是一样的,你平时怎么格式化时间,这里就怎么填。
一个容易踩的坑
有人会想偷懒,把 get_bar_timetag 拿到的毫秒戳直接除以一千,然后用普通 datetime 去转。分钟级别回测时这么干勉强能跑,但遇到日线或者跨时区细节就容易偏。既然本地客户端已经给了 timetag_to_datetime 这个专门的转换口子,就别绕路自己算,省得对不上账。
另外提一句,如果你是在做实时 tick 订阅,拿到的 time 字段有时候本身就是 20250320 135204 这种紧凑字符串,那种情况下不需要转换,直接切片或者当字符串比较就行,但做逻辑判断时记得前导零别丢了。
✅ 免费量化交易软件 —— QMT、PTrade 双平台任选,支持极速交易服务
✅ 优惠佣金 —— 各项专属优惠费率
✅ 智能交易条件单 + 网格交易工具 —— 自动盯盘、高抛低吸,省心又高效
✅AI投顾服务(AI选好股、AI选好基、AI投ETF)——限时30天免费使用
风险提示:智能交易可能因系统、通讯等原因无法正常使用或无法按照您的设置价格发出委托指令及完成成交,最终成交价格及数量以交易所、登记结算机构等记录为准。请密切关注交易回报情况及条件单设置情况。以上信息仅供参考,不构成对委托指令成交的承诺,不构成投资建议,不构成收益或避免损失的承诺。请您务必仔细阅读相关风险提示及协议,了解各类智能交易功能的区别及不同风险,审慎决策是否使用相关功能。投资有风险,入市需谨慎
温馨提示:投资有风险,选择需谨慎。
-
2026年券商APP月活榜:8家券商座次怎么排?选APP该看的3件事
2026-10-12 16:05
-
2026年可转债投资攻略:【可转债专题】帮你从入门到实操一站式搞定
2026-10-12 16:05
-
银证转账失败是什么原因?这4种情况最常见
2026-10-12 16:05



问一问
从业认证

+微信
分享该文章
