返回列表 发布新帖

QMT 跑起来之后:持仓和异常怎么盯

32 0
发表于 12 小时前 | 显示全部楼层 阅读模式

策略在 QMT 里跑起来了,下一个问题通常不是"怎么写",而是:持仓变了谁通知我?废单了怎么知道?

这篇只谈工程实现——怎么把数据打出来、异常怎么记、提醒往哪接。不构成投资建议,也不代操盘。

一、先分清两件事,不然会走弯路

很多人把这两件事混成一件,结果在错误的方向上折腾很久:

  • 对账:策略进程里打印资金、持仓、委托、成交。这件事 QMT 里就能做,不需要任何外部服务。
  • 提醒:把消息推到手机 / 微信。这件事 QMT 编辑器不负责,官方没有"自动推到你手机"这个功能,必须另接一条通道。

所以第一步是问自己:我要的是能查到,还是能收到?前者已经解决了,后者才需要自己接。

二、对账:四个数据源别搞混

QMT 里查数据有主动查和被动收两种,用途不一样:

  • 资金、持仓:主动查 get_trade_detail_data,类型传 ACCOUNT / POSITION
  • 委托状态:主动查 ORDER;被动收 order_callback
  • 成交:主动查 DEAL;被动收 deal_callback

这里有个最容易踩的坑passorder 的返回值只表示"请求被客户端接受了",不等于成交。日志里有返回、账户里没仓,不是 bug,是机制。废单、部成、拒单都是走委托状态,不是"没返回"。

完整写法见:https://www.kimiquant.cn/problems/qmt-order-callback

字段名这块,持仓仍是 m_dAvailablem_nVolume 那一套。建议先打印出来和客户端界面对一遍,不要拿字段值当调仓指令。

三、提醒:QMT 没有内置推送,得自己接

PTrade 托管里有现成的 send_qywx(企业微信),QMT 这边常见做法是自己写一个 HTTP 请求或发邮件

两个提醒:

  1. 令牌不要写进策略正文。放在同目录的配置文件里,策略读文件。
  2. 提醒要分级,不要什么都发。只在"状态发生变化"时发(新成交、废单、持仓归零),否则盘中会刷屏,最后你会把通知关掉——那就等于没接。

对账那部分的完整思路:https://www.kimiquant.cn/notes/qmt-monitor-wechat

持仓和资金字段速查:https://www.kimiquant.cn/notes/position-cash

四、一个容易被忽略的前提

电脑关机、断网,本机 QMT 上的策略就停了。

这一条不是让你"再买一台永远开机的服务器"——那是把可用性问题换成另一个可用性问题。真要人不在家也跑,方向是看券商的 PTrade 托管(策略跑在券商侧),而不是自己在家里堆机器。

先把"能查到、能收到"这两件事做扎实,比追求 7×24 更实际。

五、边界说清楚

上面都是接口和工程层面的事。能不能申、额度多少、成交与否,以券商规则和客户端实际回报为准。提醒通道只负责把状态告诉你,不保证你盘中一定看得到(手机没电、网络断了同样收不到)。

不构成投资建议,不代操盘。

(整理这些接口笔记时我常用 WorkBuddy 辅助,贴报错、对着 API 排错比翻手册快,有兴趣可以看看:https://workbuddy.ai/invite?code=66L9RNCT

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2026 迅投QMT社区 版权所有 All Rights Reserved. 京ICP备2025122616号-3
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表