bb3f8bd28d
- R-004 QMT连接配置:多配置管理 + 会话头部快捷切换(03-QMT连接配置) - R-005 WS盘中价格实时更新:服务端中转+缓存+前端轮询(04-WS盘中价格实时更新) - R-006 策略数据 JSON data store 标准化(store.json/market.json/schema.json) - R-007 交易记录接入:当日订单+成交单表合并(委托主行+展开成交明细)、时间段查询(今日/本周/本月+手动起止)、费用计算(佣金费率万m_dCommission+最低5元、印花税卖出万5、过户费双向万0.1) - 架构治理:api 按领域拆分、component 目录、QmtHealthMonitor
3.0 KiB
3.0 KiB
迭代 05 复盘:交易记录接入(订单与成交 + 日期导航)(2026-09-01)
复盘日期:2026-09-01 | 迭代状态:实现完成,待老师验收确认 关联需求:R-007(交易记录接入,范围已定稿) 关联计划:PLAN-006(计划-交易记录接入.md)
结果
迭代 05 达成:交易记录 tab 接入当日委托(/trade/orders)+ 当日成交(/trade/trades),单表合并展示(委托主行 + 按 m_strOrderSysID 展开成交明细),日期导航(交易日历驱动,历史接口占位),排序默认降序可手动。
过程事实
- 需求定稿(R-007):老师指令接入订单与成交 → 技术研究(API 字段全表 / 方向判定澄清 / 数据时效研究 / sample data)→ 范围定稿(当日订单+成交 + 日期导航)→ 展示设计定稿(单表合并 + 排序降序);
- 方向判定闭环:m_nDirection=48 恒为操作标记(官方 innerApi 字典),真实方向在 m_nOffsetFlag(48买/49卖)+ m_strOptName 交叉验证;
- 数据时效确认:/trade/orders 与 /trade/trades 仅当日数据(get_trade_detail_data 读客户端缓存),历史查询需老师完善 QMT Bridge 接口;
- 服务端实现:QmtBridgeRestDataSource 新增 getOrders/getTrades/getTradingDates(语义化映射)+ api/trades.js 领域(orders/trades/trading-dates 端点);
- 客户端实现:TradeRecordsTab(单表合并 + 排序 + 轮询 4s)+ DateNav(交易日历导航,当日默认,历史占位);
- 验证:typecheck 通过、构建成功、数据源三方法端到端实测通过(博纳影业卖出 200 股 @6.00,手续费 0.852)、合并逻辑多笔成交场景验证通过(加权均价 6.03);
- 未做:历史数据查询实现(等老师 QMT Bridge 接口)、本地持久化(Q5 本期不做)、按策略过滤(Q10 后续)。
经验(待沉淀)
- 方向判定:大 QMT m_nDirection 恒 48 是操作标记,m_nOffsetFlag 才是方向(48买/49卖)——实现时勿踩坑;
- 手续费字段:m_dCommission 与 m_dComssion(拼写变体)同值,取值优先 m_dCommission;
- 前端轮询:静默刷新不闪 loading(setOrders 直接更新,不置 loading=true);日期切换时清理轮询定时器;
- 服务端/客户端加载时机:服务端改动需宿主重启,客户端 bundle 刷新即载(沿用迭代 03/04 经验)。
遗留/后续
- 历史成交接口:老师完善 QMT Bridge 后,DateNav 历史日期从占位切换为真实查询(trading-dates 已就绪,orders/trades 加日期参数即可);
- 本地持久化:跨日复盘需按日落盘(Q5),待历史接口就绪后评估;
- 按策略过滤:Q10 后续迭代(strategy_name 与插件策略体系打通)。
验收状态
- 服务端/数据源端到端验证:✅(真实数据实测通过)
- 前端 UI:待老师页面验收(客户端 bundle 已构建,刷新页面即载)
- 完整验收:对照 验收标准.md 逐条核验(待老师确认)