一,逐 K 线驱动:handlebarhandlebar是主图历史 k 线+盘中订阅推送。
1,回测:运行开始时,所选周期历史 k 线从左向右每根触发一次handlebar函数调用。
2,盘中:主图品种每个新分笔数据到达,触发一次handlebar函数调用。
比如我们获取盘中的tick数据:C.get_full_tick(stock_code=[])
每隔3s,handlebar就会自动运行一次,我们可以通过这个“转动带”,每3s执行一次策略,比如对比最新价是否满足交易条件,若满足就开干!
二,事件驱动 :subscribe订阅推送盘中订阅指定品种的分笔数据,新分笔到达时,触发指定的回调函数
订阅推送(subscribe)相对于全推(get_full_tick),可以理解为定制版,投资者定制投资标的、数据,进行获取,而不是每隔3s什么数据都来,还得再执行筛选。
这样可以节约不少计算量。
三,定时任务 :run_time定时运行指定固定的时间间隔,持续触发指定的回调函数。
这个很好理解,比如我要每s获取某些股票的最新价,然后与某个值比较,当达到条件,则做出相应操作:
定时器是可以进行任意时间设置,从nMilliSecond、nSecond和Day三个周期单元,
操作上就可以比handlebar更加灵活,不必局限于3s的tick。
以上就是QMT的三种运行机制,大家觉得那种方式更适合自己呢?