Files
kyugao 2aacd8a25d docs(迭代07/08): 交易记录本地存储 + 策略持仓展开全量文档 + 需求归档(R-009/R-010)
- PLAN-008/PLAN-009 计划(已完成)
- 迭代 07/08 四件套(目标/技术方案/验收标准/复盘)
- 设计约束:数据存储设计 §10/§10.1、技术约束-012/013、产品约束-008
- R-009/R-010 需求归档(含二次定稿:手动归属、Q4 成本价/成交价)
- 需求池索引同步
2026-09-02 01:21:10 +08:00

2.4 KiB
Raw Permalink Blame History

验收标准:07-交易记录本地存储(SQLite)+ 策略关联

验收标准线

  1. 两表落地store.db 存在 trade_ordersorder_id 主键 + insert_ts 派生列)+ trade_fillstrade_id 主键、order_id 关联委托)两表;两表均无 strategy_id / holding_id 列(零冗余,Q3 老师定稿);
  2. 同步落库:启动预热 + 60s 定时同步今日 orders+trades 入库;UPSERT 幂等(重复同步不产生重复行、已存在委托状态/成交量覆盖更新);
  3. 策略归属推导(FK 链):查询时委托时间 join strategy_holdings 生命周期窗口(created_at ≤ t < closed_at)得到策略/持仓归属;一码多策略取份额最大;无命中=未关联;历史委托归属稳定(清仓/删策略转历史不删行);
  4. 本地历史查询trades/history 端点按 { start, end, code, strategyId, direction } 过滤返回 { orders, fills }(策略过滤走 FK 链 join);
  5. 前端:交易记录 tab 加策略过滤下拉(全部/各策略/未关联);历史范围展示本地库数据(不再「接口开发中」占位);今日仍走 QMT 实时 + 写穿本地;
  6. 不回归:今日实时展示(单表合并/费用/排序/展开)与持仓/策略/行情/连接配置功能正常;
  7. 测试隔离:回归测试在独立数据目录(ODL_TEST_DATA_DIR)执行,真实数据目录无写操作(技术约束-011)。

验收方法

  • 独立数据目录(ODL_TEST_DATA_DIR)构造今日委托/成交样例 → 启动插件 → 确认同步落库、UPSERT 幂等(重复同步行数不变、状态覆盖);
  • 构造持仓生命周期样例(当前持仓 + 已清仓)→ 确认策略归属推导正确(时间窗口命中、一码多策略取份额最大、未关联兜底);
  • API 实测:trades/history 按时间段/code/策略/方向过滤返回正确;
  • 前端:策略过滤下拉生效(今日实时 + 历史本地);历史范围展示本地数据;
  • 回归:今日实时展示与现有功能正常;
  • 手动核对真实数据目录:store.db 中 trade_orders/trade_fills 持续积累,无 JSON 文件新生。

验收目标

  • 交易记录本地持久化闭环:当日实时 + 跨日历史本地可查;
  • 外键链策略关联正确:按策略过滤 / 复盘交易就绪(R-007 Q10 落地);
  • 设计约束同步落地:数据存储设计.md §10 + 技术方案约束新增条目。