From 79a5facc1334e3fc13917678dbd3ec1d28841e7a Mon Sep 17 00:00:00 2001 From: hmo Date: Tue, 11 Aug 2026 12:30:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20list=5Fstrategies=E8=A1=A5=E5=85=85STRA?= =?UTF-8?q?TEGY=5FDESCRIPTIONS=E9=87=8C=E7=9A=84=E7=AD=96=E7=95=A5(v=5Fove?= =?UTF-8?q?rsold=E7=AD=89=E6=97=A0=E5=9B=9E=E6=B5=8Bconfig=E7=9A=84?= =?UTF-8?q?=E6=89=AB=E6=8F=8F=E7=AD=96=E7=95=A5)=E2=80=94=E2=80=94?= =?UTF-8?q?=E8=AE=A9=E6=96=B0=E7=AD=96=E7=95=A5=E5=87=BA=E7=8E=B0=E5=9C=A8?= =?UTF-8?q?=E7=A0=94=E7=A9=B6Tab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- strategy_lab.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/strategy_lab.py b/strategy_lab.py index ef1458ba..0749a77a 100644 --- a/strategy_lab.py +++ b/strategy_lab.py @@ -1920,6 +1920,16 @@ def list_strategies(period_tag=None): 'summary_stats': {}, 'insights': [], 'created_at': s.get('created'), 'market': 'all', }) + # 2026-08-11:补充仅在 STRATEGY_DESCRIPTIONS 的策略(如 v_oversold 预测扫描策略,无回测 config) + for v, s in STRATEGY_DESCRIPTIONS.items(): + if v not in STRATEGIES and not any(d['version'] == v for d in out): + out.append({ + 'version': v, 'name': s.get('title', v), 'summary': s.get('algorithm', ''), + 'hypothesis': s.get('rationale', ''), 'parent': None, + 'config_json': '{}', + 'summary_stats': {}, 'insights': [], 'created_at': None, + 'market': 'all', + }) out.sort(key=lambda x: (x['version'], x.get('market', 'all'))) # 2026-08-11:标记当前实盘/新策略(研究 Tab 拆分当前/历史区域) # 当前 = 实盘在跑(v_weak) + 新策略待上线(v_oversold) + 趋势卫星(v_next4)