news 2026/6/10 9:31:53

从LINUX等平台高速连接Windows中的miniQMT_socket_server

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从LINUX等平台高速连接Windows中的miniQMT_socket_server

​ 散户的常用量化交易的工具是QMT和ptrade。Ptrade只有windows版本,策略要求在云端运行,好处是券商管理比较可靠。但是交易策略是单独为Ptrade而写,外来策略需要进行转换并在云端回测,速度感人。券商提供的QMT也只有windows版本,但是有的券商支持极简模式miniQMT,就提供了一个接口,在券商的QMT软件外仍然可以利用迅投的python xtquant库来获取数据和执行交易。这个库也只能在Windows环境下连接QMT软件文件夹下的userdata_mini文件夹。
如果需要跨平台来获取数据和执行交易, 我们需要搭桥。通过python在Windows环境下启动一个socket server,利用redis的高速来传送数据。python库缺什么就补装。

## 使用说明 1. 安装依赖:`pip install xtquant redis pickle struct` 2. 启动QMT极简模式,并确保`userdata_mini`路径正确。 3. 运行本脚本,Linux端通过Redis和Socket通信。
importsocketimportthreadingimportstructimportpickleimporttimeimportredisimportsysimportpandasaspd# --- QMT 依赖导入 ---try:fromxtquantimportxtdatafromxtquant.xttypeimportStockAccountfromxtquantimportxtconstantfromxtquant.xttraderimportXtQuantTrader,XtQuantTraderCallbackexceptImportErrorase:print(f"❌ 未找到 xtquant 库,请检查环境:{e}")sys.exit(1)

— 全局配置 —

DEBUGMODE = False # True ###
QMT_PATH = r’你的 userdata_mini 实际路径’

windows启动后券商的QMT软件勾选 “极简模式”选择保存密码自动运行,开机就必须一直运行才能保证数据流和交易信息畅通。

SESSION_ID = int(time.time()) # 使用时间戳作为唯一会话ID

每次如果一次会话出现问题,重新建立连接需要一个新的ID,否则数据无法送达。

TARGET_PORT = 9999

socket的端口,连接方必须一致

REDIS_HOST = ‘192.168.xxx.xxx’ # 如果 Redis 在另一台机器,请修改为对应 IP
REDIS_PORT = 6379

Redis的端口,必须和对方一致

— 1. 初始化 Redis (用于向 Linux等平台 推送交易回报) —

r = redis.Redis(host=REDIS_HOST, port=REDIS_PORT, db=0)

— 2. QMT 交易回调类 (接收委托/成交并推送到 Redis) —

classMyTraderCallback(XtQuantTraderCallback):defon_disconnected(self):print("⚠️ 交易连接断开")defon_stock_order(self,order):ifDEBUGMODE:print(f"📨 收到委托回报:{order.stock_code}状态:{order.order_status}")try:r.publish('qmt_order_channel',pickle.dumps(order))exceptExceptionase:print(f"❌ Redis 推送委托失败:{e}")defon_stock_trade(self,trade):print(
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 9:25:23

openfeign如何获取远程调用接口上的url地址

OpenFeign 不是通过“反射读取 GetMapping 来拿 URL 并直接拼出来调用”的简单模型,它的实现要更“分层”,本质是:启动时解析注解 → 生成 Method 元数据 → 运行时动态代理 Contract 解释 → RequestTemplate 构建 URL一、先给结论&#xf…

作者头像 李华
网站建设 2026/6/10 9:25:16

AI小助手开发与应用(下):API迁移实践与多性格交互引擎

一、项目分工与阶段回顾 在AI健康助手项目中,我的主要职责涵盖AI功能的全链路实现:前期辅助前后端架构搭建,设计提示词工程体系,封装大模型API调用,解析返回内容并生成健康建议与周报。目前项目已进入中后期阶段&#…

作者头像 李华
网站建设 2026/6/10 9:12:27

ArcMap导入Excel坐标总失败?从坐标系、带号到表头,一次讲清所有坑

ArcMap导入Excel坐标的终极排错指南:从非洲漂移到乱码的全面解决方案当你满怀期待地将野外采集的Excel坐标拖入ArcMap,却发现点位集体"移民"到非洲大陆,或是软件报出各种晦涩错误——这可能是GIS新手最崩溃的时刻之一。本文将带你拆…

作者头像 李华
网站建设 2026/6/10 9:12:25

Arcmap导入Excel坐标总失败?从坐标系、带号到文件保存,一次讲清所有坑

ArcMap导入Excel坐标的终极避坑指南:从原理到实战最近在帮同事处理一批地质调查数据时,又遇到了那个老问题——Excel里的坐标点死活导不进ArcMap。这让我想起三年前自己第一次被这个问题折磨到凌晨三点的经历。当时项目截止日前夜,所有点位数…

作者头像 李华