diff --git a/deploy/profile-scripts/mofin_db.py b/deploy/profile-scripts/mofin_db.py index f9452faf..c79071a8 100644 --- a/deploy/profile-scripts/mofin_db.py +++ b/deploy/profile-scripts/mofin_db.py @@ -1204,8 +1204,12 @@ def reconcile_signal_from_analysis(conn, code: str) -> str: verdict = "" for line in fa.split("\n"): if "【综合结论】" in line: - for s in ("买入", "可买入", "可加仓", "卖出", "止盈", "关注", "观望", "持有", "弱势持有"): - if s in line: + # 2026-08-25 开头匹配(601866教训:"关注(条件性买入机会)"被顺序扫描误抓"买入") + # 综合结论词的规范位置=【综合结论】之后紧跟的第一个词 + tail = line.split("【综合结论】", 1)[1].strip() + # 长词在前防前缀误抓(弱势持有>持有, 可买入/可加仓>买入) + for s in ("可买入", "可加仓", "弱势持有", "买入", "卖出", "止盈", "关注", "观望", "持有"): + if tail.startswith(s): verdict = s break break @@ -1217,7 +1221,10 @@ def reconcile_signal_from_analysis(conn, code: str) -> str: if new_sig in ("买入", "可买入", "可加仓"): _NEG_ADVICE = ("继续空仓", "暂不执行", "不宜买入", "不买入", "不建仓", "不新建仓", "等待企稳", "暂缓买入", "保持空仓", "维持空仓", "不建议买入", "空仓观望", - "不建议操作", "等待价格回落", "等待回调", "高于买入区上沿") + "不建议操作", "等待价格回落", "等待回调", "高于买入区上沿", + # 2026-08-25 补全(601866"关注(条件性买入机会)"漏网): + "不符合立即建仓", "不符合建仓条件", "维持观望", "暂不符合", "等待更明确", + "观望为宜", "不宜立即", "暂不建仓") for line in fa.split("\n"): if "【建议仓位】" in line and ("不新建仓" in line or "不建仓" in line): new_sig = "关注"