​ 散户的常用量化交易的工具是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 = 9999socket的端口,连接方必须一致REDIS_HOST = ‘192.168.xxx.xxx’ # 如果 Redis 在另一台机器,请修改为对应 IPREDIS_PORT = 6379Redis的端口,必须和对方一致— 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(