kyugao
|
35f2ad1a23
|
docs(归档): 迭代 07/08 归档整理(R-009/R-010 归档文件规范化)
- R-009 归档头更新为二次定稿结论(手动归属 + 冗余),清理重复标题
- R-010 归档头补充讨论记录,清理重复标题
- 需求池索引:R-009 描述与最终实现一致(手动归属,非零冗余推导)
|
2026-09-02 09:42:28 +08:00 |
|
kyugao
|
d122d88bce
|
feat(策略持仓): 表格加昨收/涨幅列(涨幅支持升降排序)+ 去掉总持仓列
- 昨收列:行情缓存 lastClose
- 涨幅列:(现价-昨收)/昨收,红涨绿跌着色
- 涨幅排序:点击表头降序/升序切换(▼/▲指示)
- 移除总持仓列
|
2026-09-02 09:23:02 +08:00 |
|
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 |
|
kyugao
|
859938c4f1
|
test(交易记录): 迭代 07/08 回归测试(独立数据目录)
- test-r009: 手动归属核心(建表/幂等/UPSERT 不覆盖归属/候选/持久化过滤)
- test-r009-sync: TradeSync 同步集成
- test-r009-normalize: QMT code 归一化
- test-r009-api: API 层端点集成
- verify-real-r009: 真实数据只读验证
- verify-real-attribution: 归属写闭环(被插件锁时跳过)
|
2026-09-02 01:21:04 +08:00 |
|
kyugao
|
2790b92378
|
feat(策略持仓): 持仓行展开关联交易 + 成本价/最后成交价 + 隐藏输入框(迭代 08,R-010)
- strategy-positions 附加 holding_id + avgPrice/lastTradePrice(无关联默认成本价)
- trades/by-holding 端点(按 holding 查委托汇总)
- StrategyTab 持仓行展开(懒加载 + 内嵌汇总表,含交易日/时间列)
- 神之一手 tab 激活时隐藏 AI 对话输入框(纯 CSS :has() 方案)
|
2026-09-02 01:20:58 +08:00 |
|
kyugao
|
b3526c7693
|
feat(交易记录): SQLite 本地存储 + 手动归属(迭代 07,R-009)
- trade_orders + trade_fills 两表(委托/成交,holding_id/strategy_id 手动归属)
- TradeSync 定时同步(启动预热 + 60s UPSERT,不覆盖归属列)
- 手动设置归属(candidates 候选 + set-attribution 端点 + 前端归属下拉)
- 历史查询 trades/history + 策略过滤
- QMT code 归一化(补后缀)+ tradeDate 兜底 insertDate
|
2026-09-02 01:20:50 +08:00 |
|
kyugao
|
dd98b4d45b
|
docs(迭代06): 数据存储SQLite迭代文档 + 需求归档(R-008)
- 新增 02-计划/计划-数据存储SQLite.md(PLAN-007)
- 新增 04-迭代记录/06-数据存储SQLite/ 五份文档(迭代目标/技术实现方案/验收标准/UI交互调用分析/迭代复盘)
- 归档 R-008 至 已完成/(含归档头 + 讨论记录索引),索引更新为已实现(已归档)
- 设计约束更新:技术方案约束-012 标注 SQLite 变更、数据存储设计.md 第 9 节变更预告
- 需求池说明.md 新增「归档与转正规范」;迭代记录说明.md 新增「实现经验沉淀」
- 验收标准修正 db 文件名笔误(one-divine-lot.db → store.db)
|
2026-09-01 18:04:28 +08:00 |
|
kyugao
|
9b719f13ba
|
feat(存储): JSON data store 升级 SQLite(迭代 06,R-008)
- 新增 SqliteStore(node:sqlite 封装):strategy_holdings 持仓生命周期表 + market_quotes_cache 行情缓存表
- DataStore 改造为门面委托 SqliteStore,保留兼容 API,启动检测自动迁移(幂等)
- PositionManager 适配单票生命周期(openHolding/addShares/reduceShares/closeHolding),清仓转历史保留
- 新增一次性迁移脚本 scripts/migrate-json-to-sqlite.mjs + pnpm migrate 命令
- 修复 addToStrategy 语义 Bug(新增量 vs 绝对目标量),真实 API CRUD 回归通过
- 移除策略 tab 一键清零按钮及 remove-all-shares 端点(clearStrategyShares 保留供删除策略联动)
- 插件 dispose 补充 storage.close() 关闭 SQLite 连接
|
2026-09-01 18:04:12 +08:00 |
|
kyugao
|
aef27dcd3f
|
docs: R-007 需求归档,迭代 05 完结
- R-007 移入已完成/(完整需求摘要+决策+实现记录)
- 需求池索引更新(已实现/已归档)
- 迭代 05 复盘更新(验收通过,老师确认完结)
|
2026-09-01 14:47:26 +08:00 |
|
kyugao
|
08c4ad3c58
|
style: 委托行展开箭头改为大号SVG(14px绿色+旋转动画)
|
2026-09-01 14:43:18 +08:00 |
|
kyugao
|
8caeb769ed
|
fix: 佣金按委托级合并计费(分笔成交只收一次佣金)
- calcOrderFees 委托层合并计费:同一委托分笔成交按总金额算一次佣金(最低5元一次)
- mapTrade 保留原始成交字段,不再逐笔算费
- 前端聚合调用 calcOrderFees,展开明细只展示成交本身
- 验证:200股拆两笔佣金5元(非10元);两笔独立委托各5元
|
2026-09-01 13:25:37 +08:00 |
|
kyugao
|
bb3f8bd28d
|
feat: 迭代03-05 交易记录接入、行情实时、QMT连接配置、data store 标准化
- 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
|
2026-09-01 13:21:49 +08:00 |
|
kyugao
|
5a723d514e
|
docs: R003 归档整理(讨论记录整合入归档,根目录清理)
- 已完成/R-003.md 整合完整讨论记录(与 R-002 归档格式一致)
- 删除根目录 R-003.md(已完成需求从根目录移除)
- 需求池索引更新
- 新增 R-004 需求登记(老师新开需求)
|
2026-08-29 16:45:56 +08:00 |
|
kyugao
|
cba31428dc
|
init
|
2026-08-29 16:20:33 +08:00 |
|