【QMT攻略】如何在QMT里实现定时任务?每天开盘前自动执行代码
发布时间:17小时前阅读:7
QMT里的定时任务可以通过Python的schedule库或者APScheduler来实现,也可以用xtdata的get_trading_calendar结合time.sleep的方式自己写定时逻辑。最简单的方案是用schedule库:schedule.every().day.at("09:25").do(my_task)可以设置每天9:25执行一次my_task函数,然后在主循环里调用schedule.run_pending()检查任务是否到期。
如果需要更精细的控制(比如只在交易日执行、跳过节假日),可以在任务函数开头先调用xtdata的get_trading_dates判断今天是否是交易日,不是交易日直接return跳过。另外对于每分钟触发的任务,直接用subscribe_quote订阅分钟线数据,每根K线结束时会触发回调,比手写定时循环更精确。
需要注意的是,定时任务需要主进程一直运行才能触发,所以策略最后要调用run()或èrun_forever()或者自己写一个while True循环保持进程活着。另外定时任务里的代码如果执行时间超过调度间隔,会出现任务堆积的问题,比如每分钟触发一次但任务执行了70秒,下一次触发就会延迟或者跳过,做日内高频任务时要控制好每次的执行时长。
QMT定时任务设计有疑问找我,量化开户+环境配置一步到位。以上内容仅供投资者教育参考,不构成任何投资建议,入市有风险,投资需谨慎。
温馨提示:投资有风险,选择需谨慎。
-
国常会力挺“六张网”,利好哪些板块?普通人如何稳健布局?
2026-05-18 15:52
-
REITs打新: 风电项目 ⌈中核新能⌋ 今日发售!点击领取认购操作指南~
2026-05-18 15:52
-
华泰AI涨乐APP超实用提示词分享,直接复制使用~
2026-05-18 15:52


问一问

+微信
分享该文章
