QMT量化软件 subscribe_quote回调函数怎么写

2026-08-25 09:44:39 播放次数:3 分类:股票

QMT量化软件 subscribe_quote回调函数怎么写

在QMT本地客户端里写subscribe_quote的回调函数,说简单点,就是给行情数据安一个“实时接收器”。它背后的逻辑和我们平时主动去“拉取”数据不太一样,它是系统一有最新行情就会自动“推”给你,属于事件驱动。

这个回调函数你得自己先定义好,然后再把它传给subscribe_quote函数。这个函数的结构要特别注意,通常它接收一个叫data(或者datas)的参数,这就是行情数据包。数据包是一个字典,键是股票代码,值才是我们真正关心的行情字段,比如lastPrice(最新价)、volume(成交量)这些。

刚开始写这个回调函数,有几点新手特别容易踩坑:

数据到底长什么样:别指望回调里会直接给你一个漂亮的价格数字。它返回的这个字典结构,有时候嵌套得还挺深。获取最新价一定要养成好习惯,要先判断股票代码在不在字典里,否则程序很容易报错退出。

根据周期处理数据:你订阅的是tick、1m还是1d,回调函数里收到的数据形态完全不一样。如果是K线数据,回调里可能给你的是一个类似DataFrame的表格,你得通过.iloc[-1]去拿最新的那一根;如果是Tick数据,它可能就是直接给你最新的盘口快照。写逻辑的时候一定要分清楚。

回调函数是高频触发的,尤其是订阅Tick数据时。如果你在里面写复杂的计算、打印太多日志,或者去操作数据库,很容易把数据接收线程卡住,导致数据积压或者程序崩溃。正确的做法是,回调函数只负责把数据存到一个队列或者全局变量里,复杂的策略逻辑放到主线程去处理。

至于多只股票的订阅,把代码放在列表里传给subscribe_quote就行。另外,如果策略停止了,记得调用反订阅函数把资源释放掉,否则你可能会在本地客户端看到一些意想不到的数据,或者影响下一次订阅。

免费量化交易软件 —— QMT、PTrade 双平台任选,支持极速交易服务

优惠佣金 —— 各项专属优惠费率

智能交易条件单 + 网格交易工具 —— 自动盯盘、高抛低吸,省心又高效✅AI投顾服务(AI选好股、AI选好基、AI投ETF)——限时30天免费使用

理财刘经理 当前我在线
已帮助 2.4万 人 好评 2.3万 从业5年
咨询TA