QMT量化策略开发的基础逻辑,注意事项,可参考!26年QMT量化交易免费使用券商在这里!
发布时间:13小时前阅读:36
QMT量化策略开发的基础逻辑,注意事项,可参考!
QMT 策略基础逻辑(基于回调框架)
采用事件驱动的 K 线/Tick 驱动模型,核心由两个函数构成:
init(context):
策略启动时执行一次;
用于初始化账户、股票池、订阅标的等;
所有状态通过 context 对象传递。
handlebar(context)
每根 K 线(或每个 tick)触发一次;
在此函数中实现信号计算、下单逻辑;
仅当当前 tick 是 K 线最后一个 tick 时,所做的更改才会被系统保存并生效;
盘中交易指令将在下一根 K 线的第一个 tick 到来时发送。
(我司上市券商平台,可低门槛提供QMT量化系统,目前使用免费,现在新开户交易佣金优惠,欢迎点击文章上方“问一问”,或文章下方微信+电话,直接联系沟通需求!)
开发过程中的注意事项
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、持仓状态)使用全局字典管理;
避免高频调用数据接口,防止性能瓶颈。
智能交易可能因系统、通讯等原因无法正常使用或无法按照您的设置价格发出委托指令及完成成交,最终成交价格及数量以交易所、登记结算机构等记录为准。请密切关注交易回报情况及条件单设置情况。以上信息仅供参考,不构成对委托指令成交的承诺,不构成投资建议,不构成收益或避免损失的承诺。请您务必仔细阅读相关风险提示及协议,了解各类智能交易功能的区别及不同风险,审慎决策是否使用相关功能。
投资有风险,入市需谨慎!
温馨提示:投资有风险,选择需谨慎。
下一篇资讯:
暂无下一篇


问一问

+微信
分享该文章
