fix: list_strategies 1m/6m/1y切窗后DB-only策略漏加(44→57)——b_td1/v_mr2/v_lurk_v2/s2_panic等恢复

This commit is contained in:
xxm
2026-08-18 08:54:14 +08:00
parent 4d88f3de51
commit 199c979edb
+18
View File
@@ -2184,6 +2184,24 @@ def list_strategies(period_tag=None):
'summary_stats': _ss, 'insights': [], 'created_at': None,
'market': 'all', 'period_tag': _pt or period_tag, 'trades_count': _tc,
})
# 2026-08-18 修复:1m/6m/1y 切窗后 DB-only 策略(B组挖掘/老牌策略)未被加进 out——
# _slice_versions 含 DB 所有版本且已切窗算好(sliced_summaries),但上面只遍历
# STRATEGIES(39个)/STRATEGY_DESCRIPTIONS。补齐 DB-only 且切窗成功的版本。
if period_tag in PERIOD_SLICE_DAYS:
for v in sorted(_slice_versions):
if v in STRATEGIES or v in STRATEGY_DESCRIPTIONS:
continue
if any(d['version'] == v for d in out):
continue
_ss, _tc, _pt = sliced_summaries.get(v)
if _ss is None:
continue # 切窗未成功或无数据
out.append({
'version': v, 'name': v, 'summary': '', 'hypothesis': '',
'parent': None, 'config_json': '{}',
'summary_stats': _ss, 'insights': [], 'created_at': None,
'market': 'all', 'period_tag': _pt or period_tag, 'trades_count': _tc,
})
out.sort(key=lambda x: (x['version'], x.get('market', 'all')))
# 2026-08-11:标记当前实盘/新策略(研究 Tab 拆分当前/历史区域)
# 当前 = 实盘在跑(v_weak) + 新策略待上线(v_oversold)