docs: R-007 需求归档,迭代 05 完结
- R-007 移入已完成/(完整需求摘要+决策+实现记录) - 需求池索引更新(已实现/已归档) - 迭代 05 复盘更新(验收通过,老师确认完结)
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# R-007 交易记录接入(订单与成交数据 + 时间段查询)· 已完成
|
||||
|
||||
> 归档日期:2026-09-01 | 需求状态:**已完成**
|
||||
> 原索引:docs/05-需求池/需求池索引.md(主索引保留 R-007 条目,指向本归档)
|
||||
> 实现迭代:05-交易记录接入(验收通过,迭代复盘见 docs/04-迭代记录/05-交易记录接入/迭代复盘.md)
|
||||
> 关联计划:PLAN-006(docs/02-计划/计划-交易记录接入.md)
|
||||
|
||||
---
|
||||
|
||||
> 状态:**已定稿**(2026-09-01,老师确认)| 登记日期:2026-09-01
|
||||
> 来源:老师指令(2026-09-01)
|
||||
> 优先级:P1
|
||||
|
||||
## 需求描述
|
||||
|
||||
在神之一手(one-divine-lot 插件)的「交易记录」tab 接入 QMT Bridge **当日委托(/trade/orders)与当日成交(/trade/trades)**:
|
||||
|
||||
- **单表合并展示**:委托为主行,按 m_strOrderSysID 合并成交信息(聚合成交量/加权均价/金额/费用),点击展开逐笔成交明细;
|
||||
- **时间段查询**:标题 + 时间段控件同一行(今日/本周/本月快捷按钮 + 手动起止日期),匹配历史接口按时间范围查询的形态;
|
||||
- **费用计算**:佣金费率 = 万分之 m_dCommission(如 0.852 = 万0.852),不足 5 元按 5 元(账号没免五);卖出加印花税(万分之5);双向过户费(万分之0.1);**同一委托分笔成交合并算一次佣金**;
|
||||
- **排序**:委托主行默认降序,支持表头点击手动排序;
|
||||
- **日期导航**:为老师完善 QMT Bridge 历史成交接口预留(历史范围本期占位)。
|
||||
|
||||
## 核心逻辑(定稿版)
|
||||
|
||||
1. **单表合并**:委托行 = 一笔委托,按 m_strOrderSysID 聚合该委托全部成交(成交量 Σ、加权均价、金额 Σ、费用 Σ);展开/折叠查看每笔成交明细(2026-09-01 老师拍板);
|
||||
2. **方向判定**:m_nDirection=48 恒为 EEntrustBS 操作标记(官方 innerApi 字典),真实方向在 m_nOffsetFlag(48=买入/49=卖出)+ m_strOptName 交叉验证(Q3 闭环);
|
||||
3. **交互单向模型**:preset 意图状态记录用户点的快捷按钮(操作→状态→UI),不做「范围反推按钮」反向推断;手动改日期清除 preset(2026-09-01 老师纠正);
|
||||
4. **快捷范围(完整互斥)**:今日=最近交易日单日;本周=所在自然周周一~周五(不考虑周六日);本月=所在自然月1号~月末(2026-09-01 老师纠正:不做截至今天截断);
|
||||
5. **费用计算**:
|
||||
- 佣金 = Σ成交额 × (万分之m_dCommission),不足 5 元按 5 元(没免五);
|
||||
- 印花税 = 卖出单边 × 万分之5(2023-08-28 起标准);
|
||||
- 过户费 = 双向 × 万分之0.1(2022-04-29 起标准,无最低,中登收取);
|
||||
- **同一委托分笔成交合并算一次佣金**;多笔独立委托各自算(2026-09-01 老师修正);
|
||||
6. **数据时效**:/trade/orders 与 /trade/trades 仅当日数据(get_trade_detail_data 读客户端缓存,官方 Q&A 确认),历史查询需老师完善 QMT Bridge 接口;
|
||||
7. **刷新**:仅「今日」范围 4s 轮询;其他范围一次性查询。
|
||||
|
||||
## 数据模型(语义化映射)
|
||||
|
||||
**Order**:orderId/code/name/exchange/direction/directionCode/optName/status/orderVolume/tradedVolume/totalVolume/limitPrice/tradedPrice/amount/insertDate/insertTime/cancelInfo/errorMsg
|
||||
|
||||
**Trade**:tradeId/orderId/code/name/exchange/direction/directionCode/optName/price/volume/amount/commissionRateWan(佣金费率万分之)/tradeDate/tradeTime
|
||||
|
||||
**费用**:calcOrderFees(委托级):totalAmount/commission(最低5元一次)/stampTax(卖出)/transferFee(双向)/total
|
||||
|
||||
## 边界(不做)
|
||||
|
||||
- 历史(非当日)交易数据查询实现(老师完善 QMT Bridge 接口后接入,服务端已预留 start/end 透传);
|
||||
- 交易数据本地持久化(Q5 本期不做,跨日复盘待历史接口就绪后评估);
|
||||
- 按策略过滤交易(Q10 后续迭代,strategy_name 与插件策略体系打通);
|
||||
- 下单/撤单等交易操作(目标-007 人机合一控制权另议)。
|
||||
|
||||
## 关键决策(Q1-Q11 结论)
|
||||
|
||||
| # | 问题 | 结论 |
|
||||
|---|---|---|
|
||||
| Q1 | 展示范围 | 单表合并:委托主行 + 展开成交明细(老师拍板) |
|
||||
| Q2 | 刷新机制 | 服务端中转 + 前端 4s 轮询(仅今日范围) |
|
||||
| Q3 | 方向判定 | m_nOffsetFlag(48买/49卖)+ m_strOptName 交叉验证 |
|
||||
| Q4 | 状态展示 | 全量 + 状态列中文映射(未报/已报/部成/已成/已撤/废单) |
|
||||
| Q5 | 持久化 | 本期不做(跨日复盘待历史接口) |
|
||||
| Q6 | 关联形态 | 单表合并 + 展开/折叠(老师拍板) |
|
||||
| Q7 | 方向着色 | 红买绿卖 |
|
||||
| Q8 | 精度 | 成交额/金额 2 位、手续费/费用 2 位、成交量整数 |
|
||||
| Q9 | 优先级 | P1 |
|
||||
| Q10 | 策略联动 | 本期不做(后续迭代) |
|
||||
| Q11 | 时间段查询 | 今日/本周/本月快捷 + 手动起止;完整互斥范围;单向交互模型 |
|
||||
|
||||
## 讨论与修正记录
|
||||
|
||||
- 2026-09-01 登记 + 技术研究(API 字段全表 / 方向判定 / 数据时效 / sample data);
|
||||
- 2026-09-01 范围定稿:当日订单+成交 + 日期导航(老师将完善历史接口);
|
||||
- 2026-09-01 展示设计定稿:单表合并 + 展开明细 + 排序降序;
|
||||
- 2026-09-01 修正一:快捷按钮 今日/本周/上周 → 今日/本周/本月;
|
||||
- 2026-09-01 修正二:快捷范围为完整时间段(不做截至今天截断,操作逻辑问题);
|
||||
- 2026-09-01 修正三:交互单向模型(操作→状态→UI,不做反向推断);
|
||||
- 2026-09-01 修正四:本周 = 周一~周五(不考虑周六日);
|
||||
- 2026-09-01 修正五:佣金按委托级合并计费(分笔成交只收一次佣金);
|
||||
- 2026-09-01 费用规则:m_dCommission = 佣金费率万分之,最低5元,印花税/过户费费率确认。
|
||||
|
||||
## 实现记录
|
||||
|
||||
| 项 | 内容 |
|
||||
|---|---|
|
||||
| 实现迭代 | 05-交易记录接入 |
|
||||
| 服务端 | QmtBridgeRestDataSource(getOrders/getTrades/getTradingDates/calcOrderFees)、api/trades.js(orders/trades/trading-dates) |
|
||||
| 客户端 | TradeRecordsTab.jsx(单表合并+排序+轮询)、RangeSelector.jsx(时间段选择) |
|
||||
| 构建安装 | pnpm run build + 宿主重启(服务端)/ 页面刷新(客户端) |
|
||||
| 提交 | bb3f8bd(迭代03-05)、8caeb76(佣金合并计费)、08c4ad3(箭头样式) |
|
||||
|
||||
## 验收结果
|
||||
|
||||
- 服务端三端点端到端实测:✅(orders/trades/trading-dates 返回真实数据)
|
||||
- 单表合并 + 展开明细:✅(博纳影业卖出 200股@6.00 委托+成交完整链路)
|
||||
- 费用计算:✅(佣金5 + 印花税0.6 + 过户费0.012 = 5.612;委托级合并计费验证通过)
|
||||
- 时间段查询(今日/本周/本月 + 手动):✅
|
||||
- 排序(默认降序 + 表头手动):✅
|
||||
- 方向判定(m_nOffsetFlag + optName):✅
|
||||
- 现有功能不回归:✅(持仓/策略/行情/连接配置正常)
|
||||
Reference in New Issue
Block a user