大QMT完整桥接开发
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/yuhanbo758--bigqmt-bridge-data.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @yuhanbo758/bigqmt-bridge-data。- 适用对象:需要为大QMT开发独立HTTP桥接项目的Python开发者,以及通过已有桥接获取行情的用户。 解决问题:提供可以独立生成和配置的服务端、外部客户端、示例与中文文档,减少重复搭建行情、账户、直接报单和事件监听接口的工作。 主要能力:生成大QMT单文件服务端、完整Python客户端、行情查询与CSV导出工具、默认dry-run的报单示例、长轮询/SSE…
- 提供RPC就绪检查、请求号防重、部分成交记账和隔离测试。 输入:说明需要生成完整桥接还是仅获取行情,并提供接口需求、周期和标的等必要参数。账户、令牌和数据库路径由部署者在自己的环境配置,请勿将真实凭据提交到公开内容中。 输出:独立桥接源码、部署/API/交易回推说明、数据及事件示例、离线测试和生成文件SHA-256清单
- 只读取数工具可输出CSV及质量元数据。 环境与依赖:Skill工具使用Python 3.8+标准库
- 生成项目面向Python 3.6的大QMT内置环境。服务端以UTF-8开发,部署时按文档显式转为GBK并校验。默认本机1693端口,实际使用需要部署者的大QMT环境与相应权限。 验证情况:发布副本通过33项Skill离线回归、75项生成项目隔离测试和源码兼容/GBK静态验证。WorkBuddy实际调用Skill并生成项目,生成产物另经独立测试。代码生成和离线…
- 真实下单必须另有明确授权并满足服务端配置和执行校验。只读工具仅允许GET。模板不含网页、条件单、私人策略、撤单或算法单,不承诺收益或成交结果。 本次以普通Skill分发,包内不设置付费调用门槛。 文档:https://docs.sanrenjz.com
阅读全文 (展开查看完整说明)
概述
本Skill既提供可生成项目的完整模板,也保留只读行情工具。名称保留bigqmt-bridge-data以兼容现有引用,能力不限于行情。目标是让用户独立获得可配置、可验证的桥接代码,不把用户项目或另一Skill当成隐含运行依赖。
唯一项目基线为qmt_bridge_standard/目录。 服务端、完整客户端、示例与隔离测试均取自该目录;Skill生成器和只读导出工具围绕该目录的接口编写。不得从项目根目录引入旧服务端、网页、条件单、中转表、外部执行器或个人策略。后续维护同样以这个独立目录为准,不能将整个项目作为合并来源。
按用户目标选择入口
| 目标 | 入口及需要读取的材料 |
|---|---|
| 从零生成桥接,或增加服务端/报单/回推 | scripts/generate_bridge.py;先读[开发与交付](references/building.md)及模板[接口](assets/standard_bridge/API.md) |
| 修改直接下单、账户路由、成交记账 | 再读[交易与回推合同](assets/standard_bridge/TRADING_AND_EVENTS.md),检查模板实际实现与隔离测试 |
| 回推客户端、按请求号查委托和账本 | 生成项目的bridge_client.py、example_events.py;读[开发与交付](references/building.md)中的事件消费规则 |
| 已有服务,只取行情/导出CSV | scripts/qmt_bridge_client.py;读[行情使用](references/market-data.md)及[行情接口](references/api.md) |
只读行情脚本保留GET限制。完整账户、下单、回推能力在生成项目的bridge_client.py与服务端中;不要向只读脚本偷偷加入交易副作用。
直接生成独立项目
从当前Skill根目录执行,目标为新建或空目录:
python -B -X utf8 .scriptsgenerate_bridge.py --output (Join-Path $env:TEMP 'qmt_bridge_demo')示例输出到系统临时目录,正式开发时替换为用户项目路径;目标必须位于Skill之外。生成器只写源码和说明,不联网、不启动QMT、不导入执行服务端、不配置账号或数据库、不生成真实订单。存在非空目标就拒绝,保护用户已有代码。生成后按用户需求修改目标副本;不要把用户配置写回Skill模板。
生成目录包含:
qmt_bridge_server.py:大QMT单文件服务端,原生行情、账户、RPC、直接报单、回调及独立SQLite账本。bridge_client.py:完整外部客户端,支持行情、资产/持仓/委托/成交、订单预演/真实提交、账本、长轮询和SSE。example_data.py、example_order.py、example_events.py:取数、默认dry-run下单、独立回推监听示例。check_runtime.py:显式执行的实际环境诊断,区分账户查询、预演、连接和成交验收。test_server.py、test_client.py、validate_source.py:假ContextInfo/临时库/拦截passorder的隔离测试,以及Python3.6与GBK编译验证。- 中文README、部署、API、交易回推、测试说明。附生成文件SHA256清单用于核对副本。
在生成目录执行离线测试及静态验证:
python -B -m unittest discover -s . -p 'test_*.py' -v
python -B .validate_source.py生成文件不会依赖Skill路径或原项目;无需复制数据库、日志、外部执行器或私人策略。用户要特定功能时,以模板为起点实现并针对改动测试,不能仅复制文件就宣称定制完成。
开发合同与默认边界
- 原生QMT调用统一通过回调线程RPC执行;init注册run_time,HTTP可访问不等于rpc_ready。保留队列超时、过期任务拒绝及防重入。
- 通用协议产品
qmt_bridge_standard、API v1,默认本机1693,无自动备用端口。先核对实际health产品、能力和心跳,不能把磁盘修改当作已重载。 - 普通/信用账户独立开关;默认关闭、账号为空。外部仅用normal/credit别名。信用订单显式op_type,不猜融资拆单,不做跨策略对冲。
- 新项目真实报单默认关闭,数据库路径由部署者指定。下单示例默认dry-run;真实执行须用户已有相应授权、示例双确认、服务端许可和执行时段校验。代码生成不授予实际下单权限。
- 直接订单不再写中转表。稳定请求号在报单前持久化,同号不得重复下单,参数冲突拒绝;超时/未知状态先查询对账,不换号盲重试。
- 部分成交按内部账户、交易日、成交编号防重;成交插入和剩余数量更新同事务。备注/路由歧义停止自动归账,不猜所属订单。
- 依次区分预演、passorder调用、柜台委托状态、原始成交回调和账本落地。心跳、HTTP200或空事件流均不能证明成交。
- SSE/长轮询缺口需检查stream_id及游标,再用委托、成交和账本对账;查询恢复不冒充原始回调。监听本身绝不发起订单。
- 默认历史fill_data=false、subscribe=false,不自动下载补缓存;缺失/陈旧行情必须报告。
当前模板支持指定价、指定数量直接报单;不包含网页、条件单、策略对冲、私人选股逻辑、撤单和算法单。若用户新增这些需求,应另行核对接口与实现,不能承诺模板已有。
修改、验证与交付
维护来源项目时只核对qmt_bridge_standard目录;定制生成项目时只核对对应副本及用户指定文件,保留用户修改。模板服务端、完整客户端、只读工具属于不同文件,避免同名导入混淆。修改原生API、枚举或生命周期时使用可用的bigqmt-helper核对官方接口文档,不引入其个人策略示例;若该Skill不存在,读取部署者提供的官方文档后实现,生成项目本身不依赖它。
工作区使用UTF-8和中文配置注释;服务端首行GBK声明不能替代真正转码。显式部署转换并往返校验,不能把源文件直接当UTF-8导入执行。真实验收必须沿实际服务路径,不拿假回调充当柜台证据。
交付时列明文件入口、用户配置、已执行测试与仍待柜台验证项;共享前扫描整个生成包,账号、令牌、私人路径和业务记录不得写入Skill。模板修改后需更新assets/template_manifest.json哈希,并测试生成副本。
本Skill自身离线回归:python -B -m unittest discover -s tests -p 'test_*.py' -v。生成模板的交易隔离测试应另行在临时生成目录中执行;这些命令不会连接实际QMT。行为场景见[evals/evals.json](evals/evals.json)。
文档:https://docs.sanrenjz.com