Skip to content

聚宽转 QMT:生命周期、后缀、定时对不上

聚宽策略回测能跑,整段贴进 QMT 两天就歪,多半不是信号写错,是底层对不上。下面按优先级改。不构成投资建议,不代操盘。

手册:handlebar · run_time · passorder · .SS / .SH

若你不想重写整套策略,只想让聚宽模拟盘的 order 在本机 QMT 执行,走 信号同步,不必先整段迁移。

1. 生命周期不是换个函数名

聚宽QMT
initialize(context)init(ContextInfo)
handle_data(context, data)handlebar(ContextInfo)(按 K 线)
盘中定时run_time / schedule_run回测不进
python
#coding:gbk
def init(C):
    C.set_account(account)   # 交易界面会注入 account

def handlebar(C):
    if not C.is_last_bar():
        return
    # 原来写在 handle_data 里的逻辑,挪到这里
    pass

源码第一行建议 #coding:gbk。见 运行机制对比

2. 上交所后缀:.XSHG.SH

场景聚宽QMT
上交所600000.XSHG600000.SH
深交所000001.XSHE000001.SZ

取行情、下单、持仓比对走同一套后缀。和 PTrade 的 .SS 也不要混,见 .SS / .SH

3. 定时:run_time 回测看不到

聚宽里「每天 9:31 跑一次」很常见。QMT 里若写成 run_time回测日志不会进,只有盘中运行才触发。要回测,把条件写进 handlebar,用 K 线时间或日期戳卡住。详见 run_time 回测不跑

4. 下单:orderpassorder

QMT 综合下单用 passorder。返回值只表示「发出去了」,不等于成交。状态走 order_callback / deal_callback

5. 想先出一版骨架再改

可用 AI 量化代码 做「聚宽 → QMT」转换:按本站手册检索后再出结构。出的是骨架,要自己对账户和回测。

相关:聚宽转 PTrade · 通达信放到 QMT · API 查询