diff --git a/static/index.html b/static/index.html index af5d3d76..39a0bbda 100644 --- a/static/index.html +++ b/static/index.html @@ -2385,17 +2385,20 @@ function renderStrategyTable(strategies) { const isOverall = rg === 'overall'; const rgMeta = REGIME_META[rg] || {icon:'🌐', name: rg === 'overall' ? '整体' : rg}; const rgActive = !isOverall && isCurrent; - // ── 温区行数据:所有列用该温区数据(rw 有则用,无则"—")── + // ── 温区行数据:交易统计用该温区数据;组合级指标温区不适用(温区分散不成连续组合)── const wrShow = rw && rw.win_rate != null ? rw.win_rate : (isOverall ? st.win_rate : null); const pnlShow = rw && rw.avg_pnl != null ? rw.avg_pnl : (isOverall ? st.avg_profit_pct : null); const tradesShow = rw && rw.trades != null ? rw.trades : (isOverall ? st.total_trades : null); const holdShow = rw && rw.avg_hold_days != null ? rw.avg_hold_days : (isOverall ? st.avg_hold_days : null); - const cagrShow = rw && rw.cagr_pct != null ? rw.cagr_pct : (isOverall ? (st.portfolio_full||pf).cagr_pct : null); - const retShow = rw && rw.total_return_pct != null ? rw.total_return_pct : (isOverall ? (st.portfolio_full||{}).total_return_pct : null); - const ddShow = rw && rw.max_dd_pct != null ? rw.max_dd_pct : (isOverall ? (st.portfolio_full||pf).portfolio_max_dd_pct : null); - const capShow = rw && rw.capital_final != null ? rw.capital_final : (isOverall ? (st.portfolio_full||pf).capital_final : null); const sharpeShow = rw && rw.sharpe_ratio != null ? rw.sharpe_ratio : (isOverall ? st.sharpe_ratio : null); const pfShow = rw && rw.profit_factor != null ? rw.profit_factor : (isOverall ? st.profit_factor : null); + // 组合级列(综合/普适/全参与/最终资产/年化/回撤):整体行显示,温区行显示"—" + const compositeShow = isOverall ? s._composite : null; + const universalityShow = isOverall ? (st.universality || {}).score : null; + const retShow = isOverall ? (st.portfolio_full||{}).total_return_pct : null; + const capShow = isOverall ? (st.portfolio_full||pf).capital_final : null; + const cagrShow = isOverall ? (st.portfolio_full||pf).cagr_pct : null; + const ddShow = isOverall ? (st.portfolio_full||pf).portfolio_max_dd_pct : null; const rowCls = 'border-b border-slate-800/50 hover:bg-slate-800/30 cursor-pointer' + (rgActive ? ' bg-emerald-900/20 border-l-2 border-l-emerald-400' : ''); ghtml += '