fix: 1m/6m周期温区表策略消失——①补全循环补best_regime②切窗版本集扩展含DB-only策略(s2_panic/v_lurk_*/v_mr*)

This commit is contained in:
xxm
2026-08-16 07:11:41 +08:00
parent 1193a61510
commit cda582f046
2 changed files with 12 additions and 1 deletions
+10 -1
View File
@@ -2104,7 +2104,16 @@ def list_strategies(period_tag=None):
days = PERIOD_SLICE_DAYS[period_tag]
have_period = {r['version'] for r in rows}
from datetime import datetime as _dt, timedelta as _td
for v in list(STRATEGIES.keys()) + [x for x in STRATEGY_DESCRIPTIONS.keys() if x not in STRATEGIES]:
# 2026-08-16 切窗版本集扩展:静态字典 + DB 里所有有回测记录的版本
# (原版只遍历 STRATEGIES+STRATEGY_DESCRIPTIONS,导致 s2_panic/v_lurk_*/v_mr* 等
# DB-only 策略在 1m/6m 周期整体消失)
_slice_versions = set(STRATEGIES.keys()) | set(STRATEGY_DESCRIPTIONS.keys())
try:
_slice_versions |= {r[0] for r in conn.execute(
"SELECT DISTINCT version FROM strategy_research WHERE COALESCE(market,'a')='a'").fetchall()}
except Exception:
pass
for v in sorted(_slice_versions):
if v in have_period:
continue # 已有该 period 记录,不用切
row = conn.execute(