fix: price_monitor 告警只在连续竞价时段(9:30-11:30/13:00-15:00)触发——9:17集合竞价误报688002暴跌根因修复,竞价期虚拟价格不触发告警

This commit is contained in:
hmo
2026-08-11 09:40:20 +08:00
parent fa9c4d3a4d
commit 4e324cca8c
+13
View File
@@ -641,6 +641,19 @@ def run_once(round_label=""):
outputs.append(f"📋 进区事件{len(_zone_entries)}只(仅记日志不推送): {'; '.join(_zone_entries[:5])}")
# === 第三步:买入区偏离检测 + 自动重评 ===
# 2026-08-11 修复:告警/重评只在 A股连续竞价时段执行。
# 9:15-9:25 集合竞价,API 返回虚拟撮合价(非真实成交)——9:17 曾误报
# 688002 暴跌-20%(竞价期 API 误返回 52周低 135.2),造成假告警。
# 连续竞价 = 9:30-11:30 + 13:00-15:00;非此时段(竞价/午休/盘后)跳过告警+重评。
_now_hm = datetime.now().strftime("%H:%M")
_trading = (_now_hm >= "09:30" and _now_hm <= "11:30") or (_now_hm >= "13:00" and _now_hm <= "15:00")
if not _trading:
print(f"[时段] {_now_hm} 非连续竞价时段(集合竞价/午休/盘后),跳过告警与重评(价格已刷新)", flush=True)
# 仍提交状态(防止告警标记滞留)
if state_updated:
save_state(state)
return
reassesed_codes = []
# 先做急跌检测(仅持仓,自选股不推送暴跌告警)
holdings_codes = set()