From 96d9071b8f1164cf65788dfe3f4ec598c5c221ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E5=BE=AE?= Date: Thu, 9 Jul 2026 10:03:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20stale=5Fpush=5Fwlin=E5=8E=BB=E9=87=8D+?= =?UTF-8?q?=E6=B8=85=E7=90=8634=E5=8F=AA=E9=87=8D=E5=A4=8Dwatchlist=5Fstoc?= =?UTF-8?q?ks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/stale_push_wlin.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/stale_push_wlin.py b/scripts/stale_push_wlin.py index da66822e..58882e3d 100644 --- a/scripts/stale_push_wlin.py +++ b/scripts/stale_push_wlin.py @@ -437,6 +437,16 @@ def main(): pass # 重新过滤:重评后可能有策略变化(止盈/止损/信号变动) + # 去重:同一股票只推送一次(防止两个源重复) + seen_codes = set() + deduped = [] + for item in all_candidates: + code = item[1] + if code not in seen_codes: + seen_codes.add(code) + deduped.append(item) + all_candidates = deduped + # 重建 stocks 列表,用新数据判断(不再用旧 is_stale 标记,因为已全部重评) stocks = [] for (name, code, price, buy_low, buy_high, cur, is_stale) in all_candidates: