From 185f8f3b58e1af86e1c42042c0086b9e137608ef Mon Sep 17 00:00:00 2001 From: hmo Date: Fri, 24 Jul 2026 13:43:36 +0800 Subject: [PATCH] fix: advice-negation downgrades buy signal to guanzhu --- mofin_db.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mofin_db.py b/mofin_db.py index 82ead199..156e8ce2 100644 --- a/mofin_db.py +++ b/mofin_db.py @@ -1134,6 +1134,18 @@ def reconcile_signal_from_analysis(conn, code: str) -> str: break if verdict: new_sig = verdict + # ── 矛盾降级(2026-07-24 老爸:688660综合结论=买入但操作建议说"继续空仓观望暂不执行")── + # 【综合结论】给方向,【操作建议】给执行。操作建议明确否定买入时, + # 以操作建议为准——信号降级为关注,tag/exec 一律不许升。 + if new_sig in ("买入", "可买入", "可加仓"): + _NEG_ADVICE = ("继续空仓", "暂不执行", "不宜买入", "不买入", "不建仓", "不新建仓", + "等待企稳", "暂缓买入", "保持空仓", "维持空仓", "不建议买入", "空仓观望") + for line in fa.split("\n"): + if "【操作建议】" in line or line.strip().startswith("【操作建议】"): + if any(k in line for k in _NEG_ADVICE): + new_sig = "关注" + print(f" [RECONCILE] {code} 操作建议否定买入('{line.strip()[:40]}'),信号降级为关注", flush=True) + break elif old_sig in ("买入", "可买入", "可加仓"): new_sig = "" # 无裁决且陈旧动作信号 → 清除 else: