13 KiB
小红书四页图文|MiniQMT 关停后怎么办(桥接 API 方案)
素材来源:本仓库
api/qmt_rest_new.py(REST 桥接服务端)、docs/api.md(接口契约)、py-client/(外部 Python 策略端)、py-client/etc/_global.yaml(配置)。 说明:全文所有账号、密码、TOKEN 均为占位符,发布前不要把真实凭据写进图里或正文。
一、发布总览
| 项 | 内容 |
|---|---|
| 主题 | MiniQMT(极简模式/外接 xtquant)关停后,老策略怎么继续跑 |
| 卖点 | 桥接 API:策略代码不搬家,大 QMT 只当"下单通道" |
| 页数 | 4 页(图文轮播) |
| 目标动作 | 评论区/私信"关停""桥接"→ 引导私聊 |
| 语气 | 同行分享、干货向,不喊单、不承诺收益 |
二、四页文案(可直接做图)
第 1 页:MiniQMT 关停后的几大问题
主标题(大字)
MiniQMT 关停后,你的策略还能跑吗?
副标题(小字)
4 个坑,90% 的人第一个就卡住
正文(分条,每条一行,配极简图标)
| 图标 | 痛点 | 一句话讲透 |
|---|---|---|
| 🔌 | 外接 xtquant 通道没了 | XtQuantTrader / xtdata 那套"独立进程连客户端"的入口关闭;外挂式策略、跟单程序、历史数据下载脚本集体失联 |
| 🐍 | 被迫搬进大 QMT 内置 Python | 内置端是 Python 3.6 + GBK + 库受限:f-string、dataclasses、asyncio、第三方库可能全废,代码要重写 |
| 🧵 | 单线程、禁止阻塞 | 内置端所有策略共用一个线程,一个 time.sleep 或死循环,能把全部策略一起卡死 |
| ⚠️ | 下单没有返回值 | passorder 不回订单号,只能靠"投资备注 + 委托查询"对账;客户端查询还有几十毫秒到数秒延迟,照搬"下单即查"必然漏单、超单 |
| 💻 | 必须围着电脑转 | 客户端要登录、策略要手动点运行、电脑不能睡、断网断电容错全靠自己 |
页脚金句
关停的不是"量化",是"连接方式"。
设计:深色背景 + 红色警示色标题;每条配一个 emoji 大图标;右侧竖排页码 "01/04"。
第 2 页:桥接 API 的方式(拆解 qmt_rest_new.py)
主标题
不用改策略:把大 QMT 变成一台"下单服务器"
副标题
一个文件,14 个 HTTP 接口,老代码继续跑
核心原理(三句话,配一张数据流图)
你的 Python 策略(独立进程、Python 3.14、随便装库)
│ HTTP + X-Token
▼
大 QMT 内置策略进程:qmt_rest_new.py(Tornado @ 0.0.0.0:10086)
│ 只做转发
▼
passorder / get_trade_detail_data / ContextInfo(QMT 原生能力)
这张图就是全部价值:策略留在外面,QMT 只当通道。
服务端怎么跑(4 步启动流程)
- 校验账户与数据目录非空 →
set_account(账号) - 从远端拉股票池 + 合并当前持仓 → 去重
set_universe()设置标的池- 启动 Tornado 监听
0.0.0.0:10086,等待外部调用
接口清单(14 个,按用途分四组)
| 分组 | 接口 | 用途 |
|---|---|---|
| 上下文 | GET /api/context/info |
周期、资金、标的池等策略上下文 |
| 数据 | GET /api/get/{类型} |
股票名、上市日、总股本、股息因子、ETF、合约详情、ST 历史等 11 类单票查询 |
| 数据 | POST /api/data/full_tick |
实时 tick 行情 |
| 账户 | GET /api/portfolio |
资产 + 持仓 + 委托一次拿全 |
| 账户 | GET /api/portfolio/assets、/positions、/order、/deal、/org/{类型} |
资产、持仓、委托、成交、原始记录 |
| 交易 | POST /api/trade/passorder |
下单 |
| 交易 | POST /api/trade/cancel_by_id |
按柜台订单号撤单 |
| 交易 | POST /api/trade/ipo_data |
新股/新债发行数据 |
| 系统 | GET /api/sys/python_version |
看内置端 Python 版本 |
怎么调(一行代码的体感)
# 外部策略端:改 base_url 就能跑
client = Client(base_url="http://127.0.0.1:10086", token="<你的TOKEN>")
client.passorder(op_type=23, stock_code="600000.SH", volume=100, price=10.0)
服务端下单请求体也是大白话 JSON:
{"opType":23,"orderType":1101,"stockCode":"600000.SH",
"prType":11,"price":10.0,"volume":100,
"quickTrade":2,"strategyName":"trend","orderId":"trend-BUY-001"}
这套方案的 3 个硬优势
- ✅ 策略代码零改动:老策略、老库、老 Python 版本全部留在外部进程
- ✅ 绕开 Python 3.6 / GBK:内置端只跑一个转发文件,不跑你的业务逻辑
- ✅ 一份服务,多端复用:本机策略、远程脚本、手机查持仓,都走同一个 API
必须知道的 4 个坑(专业感来源,也是引流钩子)
- ⚠️ Token 是唯一门禁:
X-Token不对一律拒绝;端口开在0.0.0.0,别直接把 10086 暴露到公网,建议只绑内网或加白名单 - ⚠️ 下单"成功"≠ 成交:
status: success只代表底层没抛异常;查询查的是客户端本地缓存,不是柜台实查 - ⚠️ 服务端不做幂等:超时重发可能变成两单,
orderId去重要在自己策略里做 - ⚠️ 首启依赖远端股票池:远端超时或返回格式不对,服务直接起不来
页脚金句
关停逼你换的不是策略,是"接口层"。
设计:白底科技蓝;上半部分放数据流图(三个方框 + 箭头);下半部分放接口表格,只保留"分组 + 代表接口";右下角放一行代码截图感的小卡片。
第 3 页:个人 PC 全自动运行(开机 → 登录 → 起服务 → 跑策略)
主标题
人不在电脑前,策略照样跑 ——个人 PC 无人值守 5 步搞定
副标题
断电重启后全自动恢复,早上打开手机就能看持仓
Step 1|开机就启动客户端
Win + R→ 输入shell:startup→ 把 QMT 快捷方式复制进去(最简单,免管理员)- 更稳的做法:任务计划程序 → 勾选"不管用户是否登录都运行" + "使用最高权限" + 延迟 1–2 分钟启动(等网络和驱动就绪)
- 🚫 安装路径不要带中文,例如
D:\quant\qmt,中文路径容易让内置 Python 直接崩
Step 2|自动登录(关停后最容易翻车的一步)
- 客户端登录界面先勾"记住账号 + 记住密码",能覆盖大部分场景
- 有验证码/弹窗时,记住密码不够用,需要窗口自动化兜底:
- 交易时段每 10 分钟探活一次(用交易日历排除周末和节假日)
- 没进程就拉起客户端 → 激活登录窗口 → 填密码 → 回车
- 每步都带重试,失败写日志,便于第二天排查
- 关键前提:策略自身必须配成"客户端启动后自动运行",否则软件开了策略还是停的
Step 3|客户端内把"自动"全勾上
- 模型交易 → 新建策略交易 → 选策略 + 资金账号 → 运行模式选实盘
- 勾选 "终端启动后自动运行",登录延迟设 10 秒左右
- 交易设置里开启 盘前自动重启(如 8:30),刷新行情连接,避免隔夜卡顿
- 多个策略就每条都建一条策略交易、都勾自动运行
Step 4|外部策略进程也得活下去
- 用任务计划程序托管外部策略:开机启动 / 断线重启 / 最高权限
- 进程内自检:定时
GET /api/sys/python_version或/api/context/info做心跳,返回异常就重连并告警 - 日志落盘(绝对路径),关键动作全部留痕:下单、撤单、心跳失败、重连次数
Step 5|把"睡着"这件事彻底掐死
- 电源设置:屏幕和睡眠都设 "从不";笔记本长期插电
- 设备管理器 → 网卡 → 电源管理 → 取消勾选"允许计算机关闭此设备以节约电源"
- 高级电源设置:无线适配器改"最高性能",硬盘设为"从不关闭"
- 台式机在 BIOS 里开 "来电自动开机",停电恢复后能自己爬起来
- 兜底:装远程桌面工具,人不在也能看一眼服务是否在跑
页脚金句
自动化的本质不是"不用管",而是"坏了能自己回来"。
设计:浅色底 + 五个编号圆角卡片纵向排列,每张卡片左侧一个大数字(01–05),右侧 2–3 行短句;最后一行放一句金句。
第 4 页:有问题可以私我
主标题
卡在哪一步了?
副标题
关停不可怕,可怕的是自己瞎折腾一整天
正文(我这边能帮你看)
- 🧩 策略迁移评估:你的老策略能不能桥接?哪些地方必须动?
- 🔌 桥接服务部署:
qmt_rest_new.py怎么落地到你的 QMT,接口怎么调通 - 🔁 订单对账:下单没返回值、漏单/超单/重复单,怎么用备注 + 委托查询兜住
- 🖥️ 无人值守:开机自启、自动登录、防休眠、断线重连、告警
- 📩 评论区回 "桥接" 或直接私信,说明你的情况(券商 / 策略语言 / 卡在哪一步),我按顺序回
页脚(合规与免责,必须留)
仅交流技术实现,不构成投资建议,不承诺收益。 量化有风险,策略与运维问题请自行验证后再上实盘。
设计:与第 1 页呼应的深色底;中间放 4 个圆角标签;底部留大面积"私信我"引导区 + 小字免责声明。
三、小红书正文(复制即用)
MiniQMT 关停,最先崩掉的不是策略,是"连接方式"。
很多人第一反应是:完了,策略要重写。
其实先别急着改代码——
大 QMT 内置 Python 是 3.6 + GBK + 单线程,
把几百行策略硬搬进去,f-string、第三方库、定时调度全得重来,
还要担心一个 sleep 卡死全部策略。
更省事的思路是:让大 QMT 只当"下单通道"。
做法很简单:
在 QMT 里挂一个桥接文件,开一个本地 HTTP 服务(默认 10086,带 Token 鉴权),
把下单、撤单、持仓、资产、委托、成交、tick 行情全部包成接口。
你的 Python 策略继续待在外面,用 http 调用,代码基本不用改。
再配上个人 PC 的无人值守五件套:
开机自启 → 自动登录 → 客户端内"终端启动后自动运行" → 外部策略进程守护 → 防休眠防断网(含 BIOS 来电自启),
断电重启也能自己恢复。
当然有几个坑要提前知道:
· Token 是唯一门禁,端口别暴露公网
· 下单"成功"不等于成交,查询查的是客户端缓存
· 服务端不做幂等,超时重发小心变双单
完整拆解我做了 4 张图,从"关停后几大问题"到"接口清单"再到"无人值守步骤"都在图里 👉 左滑
(仅技术交流,不构成投资建议,不承诺收益)
四、标题备选(挑一个,建议 A/B 两版)
| 序 | 标题 | 风格 |
|---|---|---|
| 1 | MiniQMT 关停后怎么办?完整解决办法 | 结果导向,最推荐 |
| 2 | MiniQMT 停了,但我的策略还在自动下单 | 悬念感 |
| 3 | 关停不是终点:把大 QMT 变成下单服务器 | 技术向 |
| 4 | MiniQMT 关停 + 电脑无人值守,4 张图讲透 | 干货合集 |
| 5 | 别急着重写策略,先看这个桥接方案 | 反直觉钩子 |
五、话题标签
#MiniQMT #QMT #量化交易 #Python量化 #程序化交易 #量化策略 #自动交易 #xtquant #量化新手 #程序员副业 #无人值守 #技术分享
六、发布要点(合规提醒)
- 不要出现真实账号、密码、TOKEN、IP、端口映射截图;图里的 Token 一律打码或用占位符。
- 不写"稳赚""躺赚""保收益";不展示具体收益截图诱导交易。
- 券商开户/软件权限类话题容易被判定为引流,建议只谈技术实现,把商务信息放私信。
- 提到"开户""低佣"等内容时务必谨慎,容易触发平台风控。
- 四页图建议统一比例(3:4,1080×1440),第 1 页负责停留,第 2 页负责专业度,第 3 页负责收藏,第 4 页负责转化。
七、资料来源
- 桥接服务端实现:
api/qmt_rest_new.py(14 个路由、Token 鉴权、启动流程) - 接口契约细节:
docs/api.md(字段、错误码、下单与撤单语义) - 外部策略端调用方式:
py-client/sdk/client.py、py-client/sdk/trade.py - 部署与自启参考:QMT 本地电脑全自动开机运行全教程、国金 QMT 自动登录(Python 版)
- 迁移差异参考:MiniQMT 策略转大 QMT 内置 Python