跑 QMT 的人,机器多半是放在角落里 24 小时不盯着的(硬件怎么选可以看 低成本运行)。平时没事,但一旦策略表现异常、行情链路出问题、或者你人在外面想把它停下来,就会发现一个尴尬的事:你够不着那台电脑。
这篇文章只讲方案,不给代码。核心原则只有一条——能撤单就先撤单,关进程是最后一步;连进程都关不掉时,还有断电这招。
一、什么情况下需要远程关闭 QMT
先把场景分清楚,不同场景关法不一样:
| 场景 | 紧急程度 | 建议做法 |
|---|---|---|
| 策略逻辑失控、疯狂下单 | 🔴 极高 | 先断电止血,再登录核对持仓和废单 |
| 行情断线、客户端假死 | 🟠 高 | 先看 服务器连接 能否恢复,不行再关 |
| 收盘后日常关机让机器休息 | 🟢 低 | 走优雅关闭,先撤未成交委托再退出 |
| 系统维护、要装库/改配置 | 🟢 低 | 同上,并参考 安装 Python 库 |
| 盘中发现策略明显不对劲 | 🟠 高 | 视情况,能撤单就先撤单再关,来不及就强杀 |
一句话:应急优先保命(断电/强杀),日常优先干净(撤单 + 优雅退出)。
二、关闭前必做:先撤未成交委托
这是最容易踩的坑。很多人直接把 QMT 进程杀掉,以为进程没了就万事大吉——柜台那边你的未成交委托还挂着,等你重新登录才会看到,中间可能已经成交了不该成交的单子。
正确顺序是:
- 先在策略里或手动撤掉所有未成交委托;
- 再关闭 QMT 进程;
- 关掉后,重新登录核对一次持仓和委托,确认没有遗留。
如果你的策略里有维护委托状态(强烈建议这么做,见 委托回调用法),可以在策略里加一个「应急撤单」函数,触发时遍历未成交委托逐笔撤掉。
触发方式可以是一个定时任务(run_time 用法见 每天重置与定时任务),也可以让策略轮询一个外部「停止信号」文件——下面 HTTP 方案里会用到这个思路。
注意:断电和强杀都撤不了单,只能阻止策略继续发新单。已经发到柜台的委托,必须等你重新登录后手动撤。所以「先撤单」只在你还来得及、QMT 还能响应时才有意义。
三、方法一:远程桌面手动关闭(最直观)
最朴素的方法:用远程协助软件连上去,鼠标点关闭。
常用软件:
| 软件 | 特点 |
|---|---|
| ToDesk / 向日葵 | 国产,免配置,手机能连,适合偶尔操作 |
| TeamViewer | 老牌,功能全,个人用偶尔会被判定商用 |
| RustDesk | 开源自建,适合有服务器的玩家,不受第三方限制 |
| Windows RDP | 系统自带,延迟低,但需要公网 IP 或内网穿透 |
优点:能看到 QMT 的实际状态(行情/交易是否在线、策略面板报什么错),心里有数。
缺点:慢。应急场景下,连远程桌面 → 等画面 → 找窗口 → 点关闭,可能要一两分钟,这段时间策略还在跑。
我的建议是:日常运维用远程桌面,应急停止不要依赖它。应急场景用下面几种方式,秒级生效。
配置远程连接本身不在本文范围内,云服务器问供应商,自用机器装一个 ToDesk/RustDesk 即可。新手指南 里也提到了远程操作 QMT 电脑的思路。
四、方法二:SSH + 命令行关闭(秒级)
思路:在 QMT 那台 Windows 上开一个 SSH 服务,你在外面用手机或笔记本 SSH 上去,用系统自带的 taskkill 命令结束 QMT 进程。
大致步骤:
- 开启 OpenSSH 服务端:Win10/Win11 自带,在「设置 → 应用 → 可选功能」里添加 OpenSSH 服务端,装完在「服务」里设为自动启动,并在防火墙放行 22 端口(云服务器还要在控制台安全组放行)。
- 确认 QMT 进程名:主程序一般是
XunTouQMT.exe(不同券商版本可能略有差异,可以先登录一次用任务管理器确认),miniQMT 是另一个进程。 - 远程结束进程:SSH 上去后用
taskkill结束该进程,应急时直接加强制参数/F,再查一次进程列表确认已退出。
优点:快,秒级;可以写进脚本,手机上一条指令就发出去。
缺点:需要提前配好 SSH;强杀是「不撤单就关」,只在应急时用,日常关闭请先撤单(见第二节)。
五、方法三:HTTP 触发器(手机一键关闭,最灵活)
最实用的方案:在 QMT 那台机器上跑一个极小的 HTTP 服务,你在外面用手机发个请求,服务端自动执行「撤单 → 等几秒 → 关闭 QMT」。
这个服务运行在 QMT 的 Python 环境之外(用系统 Python 或 Node.js 都行),它只是一个外部门铃:按一下,执行预设好的关闭脚本。
关键是把「撤单」和「关进程」串起来。两个常见思路:
- 策略轮询信号文件:HTTP 服务收到请求后写一个标记文件到约定路径,QMT 策略里用定时任务每秒检查这个文件,发现就执行撤单逻辑,然后自己退出。撤单逻辑见 委托回调用法。
- miniQMT + xtquant 直连:如果你的 miniQMT 还能用(见 MiniQMT 收紧情况),HTTP 服务可以直接调
xtquant的撤单接口,不依赖 QMT 客户端界面。
不要裸奔暴露端口
这是最容易被忽略的安全问题。一个没鉴权的 HTTP 关闭接口,等于把你整个交易网关交给随便一个扫端口的人。务必:
- 加密钥校验,别用默认口令;
- 只在内网/VPN 内暴露,公网用就套一层反向代理 + HTTPS + IP 白名单;
- 每次触发都记日志(谁、什么时间、关了哪台),方便事后追溯。
六、方法四:智能插座物理断电(终极应急)
前面三种方法有个共同前提:那台机器还能响应。但如果机器彻底死机、蓝屏、网络卡死、SSH 连不上、HTTP 服务也没反应——这时候软件层面的办法全部失效,你需要的是一个物理开关。
做法很简单:把 QMT 那台机器的电源插在一只智能插座上(米家、Aqara、Tapo、涂鸦系都行),插座连着你家的 WiFi。你在外面用手机 App 一键关掉插座,机器断电,QMT 和策略瞬间一起停。
为什么这招管用
智能插座走的是它自己的 WiFi 链路,连的是厂商云(米家云等),和你那台 QMT 机器的网络是完全独立的两条路。所以哪怕 QMT 机器的网络已经彻底断了、系统已经假死,只要插座那头的 WiFi 还通、插座还在线,你手机就能控制它。这是唯一一种不依赖被控机器本身状态的远程停止方式。
适合什么场景
- 策略疯狂下单、SSH 和 HTTP 都来不及或连不上时,立刻断电止血;
- 机器蓝屏、死锁、远程桌面和 SSH 全部连不上时;
- 你判断「再等一秒都嫌多」的极端情况。
用之前要想清楚的几件事
- 断电 = 强制关机,没有优雅退出。Windows 来不及刷盘,QMT 的本地数据缓存、日志、数据库都可能写一半被截断,重启后可能要跑磁盘检查甚至丢数据。所以这招只能用在真正的应急上,别拿来日常关机。
- 断电撤不了已经发出去的单。它只能阻止策略继续发新单,已经到柜台的未成交委托还在。断电后第一件事是找另一台设备登录 QMT,把遗留委托撤掉。
- 插座的功率要扛得住。mini 主机几瓦到几十瓦问题不大,但如果机器配置高,确认插座的额定电流够,别把插座烧了。
- 断电后能不能自动开机很关键。有些主板支持「来电自启动」(AC Recovery 设为 Power On),一通电就开机——这样你断电后再通电,机器会自己重新启动,配合 QMT 的 自动初始化设置,就能实现「断电 → 重启 → 自动恢复运行」的闭环。如果不支持来电自启,那断电后就必须人去现场按开关了。
- 插座的 WiFi 不能断。智能插座要在线才能远程控制,所以插座接的那路 WiFi 得是你家最稳定的那路,最好和 QMT 机器是同一个网络但独立设备,别共用一个会一起挂的环节。
一个进阶玩法
如果你愿意多花点心思,可以让智能插座和上面的 HTTP 方案联动:正常情况用 HTTP 触发器走「撤单 + 优雅关闭」,只有当 HTTP 连续几次没响应时,再手动点插座的断电——形成「软关 → 硬关」两级应急梯队。配合 心跳监控,心跳停了第一时间告警,你判断后决定是软关还是直接断电。
七、关闭之后要做的事
关掉不是终点,还要确认:
- 进程确实退了(断电的话是机器确实关了);
- 没有遗留废单:重新登录后第一时间查委托,确认没有未成交委托挂在柜台;
- 持仓对得上:和关之前的心跳/日报(见 监控告警)对比,确认没有意外成交;
- 如果要重启:远程启动 QMT 后,留意是否需要重新登录、策略是否自动恢复运行——QMT 的自动初始化设置见 重启与初始化。
八、三种「停止力度」的对比
从轻到重,停止 QMT 的力度是这样的:
| 力度 | 方式 | 能否撤单 | 风险 |
|---|---|---|---|
| 轻 | 远程桌面手动关闭 / HTTP 触发优雅退出 | ✅ 可以先撤单再关 | 几乎无风险 |
| 中 | SSH 或 HTTP 强杀进程 | ❌ 撤不了已发单 | 可能有本地缓存未刷盘 |
| 重 | 智能插座断电 | ❌ 撤不了已发单 | 文件系统可能损坏,需磁盘检查 |
原则:能用轻的就不要用重的,只有机器彻底不响应时才断电。
九、速查小结
| 问题 | 答案 |
|---|---|
| 关 QMT 前最重要的一步 | 撤掉所有未成交委托,否则会留在柜台 |
| 日常关闭用什么 | 远程桌面手动关,或 HTTP 触发器走撤单+优雅退出 |
| 应急强杀用什么 | SSH + taskkill 强制结束,秒级生效 |
| 机器彻底死机怎么办 | 智能插座断电,唯一不依赖被控机器的方式 |
| 断电要注意什么 | 文件系统可能损坏;断电撤不了已发单;确认功率和来电自启 |
| 关完之后 | 重新登录核对持仓和委托,确认无遗留 |
远程关 QMT 这件事,技术不难,难在顺序和力度:先撤单、再关进程、最后核对;软件关不掉时还有断电兜底。把这套应急梯队配好,你人在外地也能放心把策略放在那台角落里的小机器上跑。
本文内容基于迅投 QMT 官方文档及个人实操经验整理,仅供参考。QMT、迅投 为迅投公司或其关联公司的商标;不同券商版本的进程名、撤单接口取值可能略有差异,以实际为准。