mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 17:54:15 +08:00
原问题: 多个信号在 _build_signal_mask 里 OR 成一个 mask 后, 只记录 exit_reason="信号", 具体哪个信号触发的信息丢失。回测里买入/卖出原因 只能看到笼统的「信号」, 不知道是 MA金叉还是 MACD死叉。 实现: - 后端 TradeRecord 加 entry_signal_id/exit_signal_id 字段 - 新增 _resolve_signal_id() 在触发行回查 panel 列, 找出为 True 的具体信号 - 三个 simulate 方法加 entry_signal_ids/exit_signal_ids 参数 - strategy.py 把信号列表传给 engine, _trade_to_dict 透传新字段 - 前端 useSignalNames() hook 合并内置 (BUILTIN_SIGNAL_DEFINITIONS) + 自定义 信号名称; TradeLegCell/ExitReasonBadge 显示具体信号名 - 信号名称前端解析 (复用 cnSignal), 后端只返回 signal_id, 不读磁盘 效果: 买入腿显示「MA5上穿MA20」, 卖出腿显示「MACD死叉」, 原因列从 通用「信号」变成具体信号名。止损/止盈/到期等非信号退出不受影响。 验证: 191 passed, 前端类型检查无错误