# 策略推荐规范(2026-08-17 老莫定稿) > 目的:所有推送给老爸的操作建议,必须**带上所依据的策略**,并根据策略描述推荐理由。 > 不可追溯的推荐一律不采信(教训:广信股份/博力威 2026-08-17 两起)。 --- ## 一、为什么必须有依据(教训) ### 案例1:博力威(688345) 2026-08-17 10:36 - 知微推"建仓1手,止损56.02/止盈65.65/RR=2.72"——**但这是 strategy_history 的旧重评快照** - 实际当前策略(holding_strategies):**信号=信号不充分、止损55.78、止盈65.54、买入区56.99~59.31、操作=空仓关注** - 三处硬伤:①过期数据 ②RR算错(按现价57.88实际是4.18不是2.72)③与"信号不充分"直接矛盾 - **结论:不采信** ### 案例2:广信股份(603599) 2026-08-17 10:25 - 知微说"跌破9.88清仓"——**9.88是买入区下沿,不是止损**(止损是9.8) - 且是引用08:35重评结论,未注明依据来源 - **结论:不采信** ## 二、规则(推荐必须遵守) ### 1. 每条推荐必须引用当前策略快照 推送操作建议时,必须包含: - **策略版本**(如 version=1) - **重评时间**(reassessed_at / updated_at) - **当前信号**(timing_signal:买入/卖出/持有/信号不充分) - **止损/止盈/买入区**(精确数值,不凭记忆) - **操作建议原文**(action) 数据源:`holding_strategies` 表当前 active 记录(SSOT)。 **禁止**从 strategy_history 旧快照或 LLM 记忆引用。 ### 2. 信号不充分 = 不给操作建议 - "信号不充分/观望/等信号/暂不买入" → 不是操作,**不推送** - 候选股(非持仓)利好/利空新闻 → **不推送**(除非有明确"建议买入"信号) ### 3. 触发新重评再推 持仓股触发操作区间(破止损/进止盈区/基本面重大变化)→ **先触发盘中重评(reassess_with_context)→ 重评结论维持 → 才按新重评推送**。 不触发重评就直接推旧结论 = 假警报。 ### 4. 逻辑自洽(普世真理) - 重评结论"持有" → 止损放结构支撑下方,不紧贴现价(避免正常回调触发) - 重评结论"卖出/止盈" → 止损可紧贴(执行风控) - 推送的操作建议必须与引用策略的信号一致,不得矛盾 ## 三、系统实现(2026-08-17 已落地) | 组件 | 改动 | |---|---| | `pool_news_collector.py` | 采集输出附**当前策略快照**(每只池子股票:版本/重评/止损/止盈/信号/操作),知微执行时可见真实策略 | | `price_monitor.py` | 破止损推送:**重评后带完整操作原因 + 逻辑自洽**(重评持有则不推卖出,止损更新到重评值) | | cron `pool_news_collector_30min` prompt | 写入推送门槛:实质操作才推、候选股不推、信号不充分不推、持仓股精确引用止损/止盈 | ## 四、知微执行指引 执行池子新闻/个股新闻 cron 时: 1. 先读 Script Output 中的**【当前策略快照】**段 2. 只对"信号=买入/卖出/持有且触发操作区"的股票给操作建议 3. 推送格式: ``` ⚠️/✅ 名称(代码) 现价X | 依据策略: version=N(重评时间) | 信号=X 止损S 止盈T 买入区L~H | RR=X.X | 操作: [引用action原文] ``` 4. 信号不充分/观望 → [SILENT] 或只报健康度,不列个股 --- *文档位置:docs/strategy-recommendation-spec.md | 2026-08-17*