QMT量化交易策略开发的基础逻辑,注意事项,可参考!QMT量化软件提供!
发布时间:2026-6-5 15:44阅读:165
QMT量化策略开发的基础逻辑,注意事项,可参考!
QMT 策略基础逻辑(基于回调框架)
采用事件驱动的 K 线/Tick 驱动模型,核心由两个函数构成:
init(context):
策略启动时执行一次;
用于初始化账户、股票池、订阅标的等;
所有状态通过 context 对象传递。
handlebar(context)
每根 K 线(或每个 tick)触发一次;
在此函数中实现信号计算、下单逻辑;
仅当当前 tick 是 K 线最后一个 tick 时,所做的更改才会被系统保存并生效;
盘中交易指令将在下一根 K 线的第一个 tick 到来时发送。
开发过程中的注意事项
1. 禁止阻塞主线程
QMT 不支持多线程/多进程;
所有策略(大QMT)运行于同一主线程;
禁止使用 time.sleep()、死循环、加锁等操作,否则会导致所有策略卡死。
2. 异步交易与状态管理
下单接口(如 passorder)为异步非阻塞;
委托状态通过回调函数(on_stock_order、on_stock_trade)更新;
必须设计订单跟踪机制(如全局字典),避免重复下单。
3. 数据获取差异
QMT:可使用客户端下载的数据,也可代码下载;
独立交易:必须通过代码主动下载(如 xtdata.download_history_data()),否则无法获取历史数据。
4. 策略模式不可互用
QMT和独立交易模式两者代码结构、数据机制、生命周期完全不同。
5. 回测与实盘行为差异
回测结束后系统需额外时间计算结果(日线最快,分钟线较慢);
实盘中 get_trade_detail_data 获取的是本地缓存数据,存在延迟(1–6秒),不能依赖其做即时决策。
6. 账户与品种配置
股票、信用、期货账户类型需正确指定;
期货交易仅支持投研端,普通券商端可能不支持。
7. 编码与库限制
策略文件开头需声明编码;
库需在券商白名单内,否则无法运行。
开发建议
先在QMT中完成策略研究与回测;
所有实盘策略务必在仿真环境充分测试;
关键变量(如委托ID、持仓状态)使用全局字典管理;
避免高频调用数据接口,防止性能瓶颈。
我司是一家多年发展历史的上市证券公司,可提供QMT/PTrade量化系统(10万资金门槛),软件免费使用,支持LDP柜台,VIP通道等交易服务;现在新开户7X24小时在线办理,交易佣金优惠,欢迎点击文章上方“问一问”,或文章下方微信+电话,直接联系沟通需求!
投资有风险,入市需谨慎!
温馨提示:投资有风险,选择需谨慎。
-
REITs扩募是什么?普通人能参与吗?附APP实操指南
2026-06-17 17:19
-
理财问答选哪个?知乎vs叩富问财全面对比,一文搞懂
2026-06-17 17:19
-
@所有人,2026年端午节A股休市安排出炉!
2026-06-17 17:19


问一问

+微信
分享该文章
