硬性策略质量门禁 validate_strategy()
新增 STRATEGY_QUALITY_GATES 检查清单(9条红线): CRITICAL: 止损/止盈存在+>0, 买入区下沿<上沿 HIGH: 止损≤买入区, 买入推荐含RR≥1.5, 港股标currency=HKD MEDIUM: signal短词, tech_snapshot含技术位 enforce_strategy_quality() 插在写入链的两处: 1. reassess_with_context() return前 → 单只重评必过 2. regenerate_all() for d in decisions: 写DB前 → 批量重评必过 不过的:status=review_needed, signal降级→信号不充分 不会写进DB/JSON,除非修复了CRITICAL问题
This commit is contained in:
@@ -40,8 +40,8 @@ HIGH_PATTERNS = [
|
||||
r"fed.*(?:emergency|unexpected|surprise|hike|cut)",
|
||||
# 指数暴跌(需 ≥2% 跌幅或使用更强范围词)
|
||||
r"指数[^。]*?(?:暴跌|熔断|闪崩|重挫)",
|
||||
r"指数[^。]*?(?:跌幅|下跌)[^。]*?[2-9]%",
|
||||
r"(?:暴跌|重挫|熔断).*[5-9]%",
|
||||
r"指数[^。]*?(?:跌幅[^。]{0,20}(?:扩大至|达|至|超|为|逾)[^。]*?(?<![0-9.])(?:[2-9]|[1-9][0-9])(?:\.\d+)?%|下跌(?!.*?涨)[^。]*?(?<![0-9.])(?:[2-9]|[1-9][0-9])(?:\.\d+)?%)",
|
||||
r"(?:暴跌|重挫|熔断).*?(?<![0-9.])(?:[5-9]|[1-9][0-9])(?:\.\d+)?%",
|
||||
r"熔断|闪崩",
|
||||
# 地缘+贸易
|
||||
r"关税.*(?:升级|新|报复|制裁)",
|
||||
@@ -82,7 +82,7 @@ MEDIUM_PATTERNS = [
|
||||
# 旧版有 银行.*倒闭|挤兑|破产 , 新版有 银行.*(?:倒闭|挤兑|破产
|
||||
_PATTERN_CHECKS = {
|
||||
8: ["暴跌|熔断|闪崩|重挫"], # index pattern must use strong crash words, not "跌幅"
|
||||
9: ["[2-9]%"], # 指数+跌幅 requires ≥2%
|
||||
9: ["(?<![0-9.])", "(?:扩大至|达|至|超|为|逾)"], # new: negative lookbehind for decimals + measurement words for 跌幅
|
||||
14: ["核(?:威胁", "核威胁|武器|弹头"], # must NOT have standalone 核
|
||||
18: ["倒闭|挤兑|破产"], # bank pattern must have crisis keywords
|
||||
19: ["金融危机(?:风险", "危机|债务危机"], # must NOT have standalone 金融危机
|
||||
@@ -90,6 +90,7 @@ _PATTERN_CHECKS = {
|
||||
_KNOWN_BAD_SIGS = {
|
||||
# Known stale .pyc signature fragments that indicate wrong version
|
||||
"指数.*跌幅": "旧版用 .* 跨句匹配且无 ≥2% 阈值",
|
||||
"[2-9]%(?!\")": "旧版 pattern 9 无上下文限制和阈值修复(新版用 (?:[2-9]|[1-9][0-9])(?:\\.\\d+)?% 替代 [2-9]%)",
|
||||
"|核|": "旧版有独立单字核",
|
||||
"英伟达|nvidia.*跌": "旧版 alternation 分组错误",
|
||||
"导弹.*发射": "旧版只匹配发射不匹配袭击",
|
||||
|
||||
Reference in New Issue
Block a user