diff --git a/deploy/profile-scripts/strategy_router.py b/deploy/profile-scripts/strategy_router.py index 93518407..2abb7e24 100644 --- a/deploy/profile-scripts/strategy_router.py +++ b/deploy/profile-scripts/strategy_router.py @@ -131,7 +131,17 @@ def route(regime, temp, perf): best = max(regs.items(), key=lambda x: x[1].get("win_rate", 0)) best_wr = best[1].get("win_rate", 0) cur_wr = cur.get("win_rate") if cur else None - matched = (best_wr >= 50) and (cur_wr is not None and cur_wr >= 50) + # 2026-08-16 资格标准A(老莫):长期10y/近期2y/当下1y 适应温区年化>大盘 三项达标 + 手动可用 + # (替代只看胜率≥50%的旧判定——旧标准会让年化-41%但胜率51%的策略激活) + try: + from strategy_qualify import evaluate_strategy, is_available, get_benchmarks + _qbench = get_benchmarks('a') + _qev = evaluate_strategy(name, 'a', best_regime=best[0], bench=_qbench) + _qual_ok = bool(_qev and _qev.get("long_ok") and _qev.get("mid_ok") and _qev.get("short_ok")) + _manual_ok = is_available(name) + matched = _qual_ok and _manual_ok + except Exception: + matched = (best_wr >= 50) and (cur_wr is not None and cur_wr >= 50) # 兜底旧标准 family = FAMILY_MAP.get(name, DEFAULT_FAMILY) base = 1.0 if matched else 0.3 try: