From 928a52b96fb542c09b9b344467d2529293533e9d Mon Sep 17 00:00:00 2001 From: claude_dev Date: Sat, 11 Jul 2026 08:33:51 +0800 Subject: [PATCH] =?UTF-8?q?docs(live):=20D=E6=9C=9F=C2=A78=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E2=80=94D-2=E5=90=ABbridge=E5=AE=8C=E5=96=84+?= =?UTF-8?q?=E5=8D=8A=E8=87=AA=E5=8A=A8=E6=9B=B4=E6=96=B0,=20D-4b=E5=8A=A01?= =?UTF-8?q?20141=E8=AF=8A=E6=96=AD,=20=E8=BF=90=E7=BB=B4=E5=8F=91=E7=8E=B0?= =?UTF-8?q?(120141/=E8=A1=8C=E6=83=85=E5=85=B3/=E9=87=8D=E8=BF=9E/token?= =?UTF-8?q?=E5=88=86=E7=A6=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-07-10-phase3d-live-trading-design.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/superpowers/specs/2026-07-10-phase3d-live-trading-design.md b/docs/superpowers/specs/2026-07-10-phase3d-live-trading-design.md index 20b3bfc..ce7d1b3 100644 --- a/docs/superpowers/specs/2026-07-10-phase3d-live-trading-design.md +++ b/docs/superpowers/specs/2026-07-10-phase3d-live-trading-design.md @@ -141,15 +141,22 @@ D 期加「实盘执行分支」:当 `account.mode == 'live'` 且 `live.enable | 编号 | 任务 | 端 | 状态 | |------|------|-----|------| | D-1 | bridge MVP(health/order/account/positions + 鉴权)| Windows | ✅ 代码 `eff9ed2` + 公网实测(health/account/positions/order 端到端 200)| -| D-2 | bridge 自启 + frpc 自启 | Windows | ✅ 用户已配(启动文件夹),bridge 200 常驻 | +| D-2 | bridge 自启 + frpc 自启 + 稳定性 + 半自动更新 | Windows | ✅ 自启(启动文件夹)+ bridge 完善 `cadc59e`(自动重连 miniQMT + /health 真实探活 + 交易日判断)+ 半自动更新(`update.bat` `b25b1e0` + sparse clone,见 windows-bridge-setup.md `8f51b02`/`aef4612`)| | D-3 | sanguo 影子下单分支(bridge_client + 幂等)| NAS | ✅ 代码 `ff84b3d` + 持久测试 11 + mock bridge 4(`38f5635`/`2393097`)| | D-4a | 端到端影子下单(真 bridge)| 两端 | ✅ 注入成交 → 自动影子 → 真 bridge → miniQMT 报单 order_id 1090519054/1090519055 + 幂等验证 | -| D-4b | 模拟撮合 vs 实盘成交价一致性 | 两端 | ⏳ 周一交易日(scheduler 触发真实成交后对比模拟撮合价 vs bridge /positions avg_price)| +| D-4b | 模拟撮合 vs 实盘成交价一致性 | 两端 | ⏳ 周一交易日(5 次试单确认 miniQMT `[120141][证券交易未初始化]`:交易日才初始化交易通道 + 行情站点周末关 → 无法成交,等周一)| | D-4c | 模式 B(bridge 回报驱动账本)| 两端 | ✅ 代码 `e77c9df` + test_reconcile 10 + 真桥验证(reconcile 读 bridge → 校正 account 1000万/空 + 持久化)| -| D-5 | 文档/验收/部署 | — | ✅ 设计 §8 状态 + Windows 部署清单 + Issue #4 进度(6 条 comment)| +| D-5 | 文档/验收/部署 | — | ✅ 设计 §8 + Windows 部署清单 + bridge 部署/半自动更新(windows-bridge-setup.md)+ Issue #4 进度(8 条 comment)| -> **验证总账**(不依赖周一的,全过):D-1 公网实测 / D-3 持久测试 + NAS 环境 108 passed / D-4a 端到端影子(真 bridge order_id)/ D-4c 模式 B reconcile(真桥账本校正)/ D-5 文档。 -> **D-4b 等周一**:scheduler 20:30 触发 live_step(开 enabled + mode_b + token),策略信号 → 模拟撮合 + bridge 真实成交 → 对比 paper_trades.price vs bridge /positions avg_price 一致性。 +> **验证总账**(不依赖周一的,全过):D-1 公网实测 / D-3 持久测试 + NAS 环境 108 passed / D-4a 端到端影子(真 bridge order_id)/ D-4c 模式 B reconcile(真桥账本校正)/ D-2 bridge 完善(探活 + 容错在 miniQMT 行情关场景验证生效)/ D-5 文档。 +> **D-4b 等周一**:miniQMT 行情站点开 + 交易日初始化(120141 消失)→ scheduler 20:30 触发 live_step(开 enabled + mode_b + token),策略信号 → 模拟撮合 + bridge 真实成交 → 对比 paper_trades.price vs bridge /positions avg_price。 + +### 运维发现(D 期联调实测,Issue #4 comment #1127/#1128) + +1. **miniQMT `[120141][证券交易未初始化]`**:miniQMT 证券交易初始化**只在交易日做**(init_date 同步当日)。非交易日(周末/节假日)+ 行情站点关 → 报单必 120141。scheduler 应只在交易日 20:30 触发实盘下单。 +2. **miniQMT 行情站点周末维护关闭**:周末 bridge 连不上 miniQMT(`miniqmt_connected:false`)。/health 真实探活如实反映(验证 D-2 探活生效,旧版会假阳性 true)。 +3. **bridge 不自动重连 miniQMT**(已修复 `cadc59e`):miniQMT 重启后旧连接失效,新版 `_retry_with_reconnect` 自动重连重试。 +4. **token 分离(⚠️ 切实盘前必办)**:当前 gitea access token 混做 BRIDGE_TOKEN(测试阶段图省事)。bridge.mysanguo.top 公网每请求传 token,暴露面 > gitea token 只在本地 clone URL。**切实盘前分离**:BRIDGE_TOKEN 用独立 `secrets.token_urlsafe(32)`,gitea token 只 clone。 ---