新闻详情

新闻详情

首页 / 资讯中心 / 详情

给通达信TQ做一个局域网HTTP网关(大QMT实测通过)

发布时间:2026/9/29 21:35:24来源:尧图网络
给通达信TQ做一个局域网HTTP网关(大QMT实测通过)
给通达信TQ做一个局域网HTTP网关大QMT实测通过一、问题定义同时使用通达信TQ 量化服务和大 QMT 的团队常会遇到一个部署难题TQ 服务tqcenter只监听127.0.0.1:17709通达信与大 QMT 不同机时QMT 策略无法访问 TQ 的任何接口。更麻烦的是平台层限制国信 iQuant 平台实测2026-09策略禁止读写外部文件——共享目录传信号的路被堵死MiniQMT 接口停用——跨进程老通道关闭策略进程读不到 setx 设置的用户环境变量——配置下发也受限。唯一实测可用的进程间通道是 HTTPQMT 内置 Python 的urllib可以正常发起请求。于是方案收敛为一句话在通达信所在机器部署一个 HTTP 网关把 TQ 服务透传到局域网。二、架构与协议设计机器B(大QMT/任意Python) --HTTP POST-- 机器A(TQRelay :17710) --127.0.0.1:17709-- 通达信TQ服务设计目标决定了形态不维护接口清单。TQ 官方接口有几十个且会新增逐个封装是维护噩梦。因此核心只有一个通用透传端点POST /tq?tokentoken Content-Type: application/json {method: TQ接口名, params: {参数字典}}服务端把 body 原样转发给本机 tqcenter把 TQ 原始 JSON 原样返回。错误分两层客户端都要检查转发层:{error:TQ forward failed: ...}// 连接/超时/包体问题TQ层:{id:1,result:{ErrorId:0,...}}// ErrorId ! 0 为业务失败关键实现点鉴权token 随机生成secrets模块经 URL 查询参数校验交易类接口可用allow_trade开关整体禁用。透明端口模式可选开启一个无 token 纯透传端口配合客户端netsh portproxy做本机回环映射让写死127.0.0.1:17709的存量 tqcenter.py 代码零改动跨机运行——这是迁移成本最低的兼容层设计。串行化TQ 调用加全局锁排队。tqcenter 并发能力有限与其赌并发不如显式串行化客户端按排队时间设超时。可观测按日期分文件日志来源 IP、方法、参数摘要、耗时错误独立落盘。零依赖纯 Python 标准库http.server urllib tkinter GUIPyInstaller 可打包单文件 exe。三、公式接口的关键发现筹码函数必须原生计算项目过程中最重要的技术结论WINNER/COST 等筹码函数不要在客户端用 Python 复现。经典复现方案是换手率衰减 三角分布。我实现后与通达信图上筹码逐日核对信号段起点当日吻合度仅约 73%。通达信的精确算法私有衰减模型与分布假设不可知近似复现永远差最后一口气。正确姿势是通过网关调 TQ 的formula_process_mul_zb由通达信引擎原生计算——结果与图上指标 100% 一致。配套实测经验喂入窗口影响筹码结果要与图一致start_time19900101喂全历史用return_count只取末尾 N 根公式输出默认四舍五入阈值判断如 高度控盘0必须xsflag3以上精度复权参数类型不统一get_market_data用字符串none/front/backformula 接口用整数0/1。四、客户端代码通用 Python 客户端任意机器importjsonimporturllib.requestimporturllib.parse RELAYhttp://192.168.1.100:17710TOKEN你的tokendeftq(method,params,timeout300):url%s/tq?token%s%(RELAY,urllib.parse.quote(TOKEN))requrllib.request.Request(url,datajson.dumps({method:method,params:params},ensure_asciiFalse).encode(utf-8),headers{Content-Type:application/json; charsetutf-8},methodPOST)withurllib.request.urlopen(req,timeouttimeout)asr:returnjson.loads(r.read().decode(utf-8,replace))# 取日线示例resptq(get_market_data,{stock_list:[159582.SZ],period:1d,start_time:20260901,end_time:20260924,dividend_type:front,fill_data:False})kresp[result][Value][159582.SZ]print(len(k[Date]),k[Date][-1],k[Close][-1])大QMT 策略内GBK 源码注意#coding:gbkimportjson,os SIGNAL_HOST192.168.1.100# 通达信机器局域网IPTOKENos.environ.get(SIGNAL_TOKEN,)or粘贴token# 环境变量在部分QMT平台不可靠URL_TQhttp://%s:17710/tq?token%s%(SIGNAL_HOST,TOKEN)deftq(method,params,timeout300):importurllib.request requrllib.request.Request(URL_TQ,datajson.dumps({method:method,params:params},ensure_asciiFalse).encode(utf-8),headers{Content-Type:application/json; charsetutf-8},methodPOST)withurllib.request.urlopen(req,timeouttimeout)asr:returnjson.loads(r.read().decode(utf-8,replace))defhandlebar(ContextInfo):resptq(get_market_data,{stock_list:[518880.SH],period:1d,start_time:20260901,end_time:20260924,dividend_type:front,fill_data:False})dresp[result][Value][518880.SH]print(bars:,len(d[Date]),close:,d[Close][-1])definit(ContextInfo):handlebar(ContextInfo)GBK 细节声明#coding:gbk的文件字节必须真是 GBK——含中文协议字符串如公式名的文件要转 GBK 保存纯 ASCII 文件无此问题。五、实测踩坑清单双机环境 16 项自测全过后总结#坑处理1K线窗口 约2年返回分页KlinePagedtrue按年份分窗拼接核对has_more2筹码函数 Python 复现仅 73% 吻合走 formula 接口原生计算3公式喂入窗口影响筹码结果start_time19900101return_count取末尾4复权参数类型K线字符串、公式整数封装客户端函数时统一转换5公式输出默认四舍五入阈值判断用xsflag36部分品种查无此码先在通达信手动打开该品种促发数据下载7TQ 调用不支持并行网关全局锁串行化批量任务预估排队8代码托管模式不支持转发的是接口调用不是整段策略六、部署# 机器A通达信机python tq_relay.py# GUI 模式自动生成配置与随机tokenpython tq_relay.py--serve# 无界面后台模式netsh advfirewall firewalladdrulenameTQRelaydirinactionallowprotocolTCPlocalport17710相关资源TQRelay 已开源MITGitHub 搜foxneet/tq-relay含 232 行双机自测脚本。作者的量化回测工具链数据接口横评、防坑三件套、仓位止损实测在foxneet/quant-toolbox。免责声明本文为工程工具分享不构成投资建议。工具含交易接口转发能力请确认符合所在平台合规要求后使用涉及实盘的资金安全自行负责。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

等保2.0拓扑图绘制规范与实战案例 2026/9/29 23:14:23

等保2.0拓扑图绘制规范与实战案例

简介:本资源是一份面向网络安全工程师、等保测评人员及高校信息安全专业师生的等级保护2.0实战型拓扑设计参考材料,聚焦政务、医疗、教育、企业等多行业三级/二级系统合规建设需求。119页PPT系统梳理了等保2.0“分区域、分层级、全要素”架构设计逻辑&am…

阅读更多 →
GPU 运维(AI Infra / 算力运维)能力图谱与学习路线 · 面向 2027 求职 2026/9/29 23:14:10

GPU 运维(AI Infra / 算力运维)能力图谱与学习路线 · 面向 2027 求职

文章目录 GPU 运维(AI Infra / 算力运维)能力图谱与学习路线 面向 2027 求职 一、先看清岗位:三档分层,别一锅端 二、七层技能栈逐层拆解 L7 硬件与机房基础设施 L6 驱动与 CUDA 软件栈(最容易翻车的一层) L5 容器与资源隔离 L4 训练与推理服务运维(2027 年最吃香的一层…

阅读更多 →
Nginx 与 Traefik 多服务路由:TaoToken 统一 Key 接入配置骨架 2026/9/29 23:14:10

Nginx 与 Traefik 多服务路由:TaoToken 统一 Key 接入配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
OpenClaw数据库高效操作指南:MySQL/PostgreSQL批量处理与数据迁移实战(TaoToken配置篇) 2026/9/29 23:14:10

OpenClaw数据库高效操作指南:MySQL/PostgreSQL批量处理与数据迁移实战(TaoToken配置篇)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
机房平面布置图绘制复盘:从编号混乱到可视化台账 2026/9/29 23:14:10

机房平面布置图绘制复盘:从编号混乱到可视化台账

一、任务与问题任务是交付一套机房平面布置图:PPT 版示意图 CAD 版图纸。动手之后才发现,难的不是画图,是编号。运营商机房里的机柜、网络设备、ODF、光分,长期存在多套编号并行:编号类型来源特点物理标签编号现场纸质…

阅读更多 →
Windows 时间同步服务器设置:W32Time与NTP配置指南 2026/9/29 23:14:10

Windows 时间同步服务器设置:W32Time与NTP配置指南

凌晨两点被电话叫起来,说一批业务服务器登录报"时钟偏差过大",连域控自己都进不去。远程连上一看,主域控比标准时间慢了七分多钟,Kerberos 票据直接失效,整个域的认证链断掉。当时第一反应是有人动过时间服务…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉