From d34ae18322344364728d7fad3e3efd942ba253dd Mon Sep 17 00:00:00 2001 From: hmo Date: Thu, 13 Aug 2026 13:03:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B8=A9=E5=8C=BA=E8=A1=8C=E7=BB=84?= =?UTF-8?q?=E5=90=88=E7=BA=A7=E6=8C=87=E6=A0=87=E6=98=BE=E7=A4=BA'?= =?UTF-8?q?=E2=80=94=E2=80=94'=E2=80=94=E2=80=94=E6=B8=A9=E5=8C=BA?= =?UTF-8?q?=E4=BA=A4=E6=98=93=E5=88=86=E6=95=A3(=E5=A6=82v=5Flurk=5Fv3=20t?= =?UTF-8?q?rend=5Fdown=E6=95=A3=E5=9C=A82017-2025=E5=85=B1621=E6=97=A5),?= =?UTF-8?q?=E6=8B=BC=E6=8E=A5=E7=BB=84=E5=90=88=E6=A8=A1=E6=8B=9F=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=BD=B4=E9=94=99=E4=B9=B1=E5=AF=BC=E8=87=B4?= =?UTF-8?q?944%=E6=94=B6=E7=9B=8A=E9=85=8D33.8%=E5=B9=B4=E5=8C=96=E7=9A=84?= =?UTF-8?q?=E7=9F=9B=E7=9B=BE;=E6=B8=A9=E5=8C=BA=E8=A1=8C=E5=8F=AA?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=BA=A4=E6=98=93=E7=BB=9F=E8=AE=A1(?= =?UTF-8?q?=E8=83=9C=E7=8E=87/=E5=9D=87=E7=9B=88/=E7=9B=88=E4=BA=8F?= =?UTF-8?q?=E6=AF=94/=E5=A4=8F=E6=99=AE/=E6=A0=B7=E6=9C=AC/=E6=8C=81?= =?UTF-8?q?=E6=9C=89),=E7=BB=84=E5=90=88=E7=BA=A7=E5=88=97(=E5=B9=B4?= =?UTF-8?q?=E5=8C=96/=E8=B5=84=E4=BA=A7/=E5=85=A8=E5=8F=82=E4=B8=8E/?= =?UTF-8?q?=E5=9B=9E=E6=92=A4)=E5=8F=AA=E6=95=B4=E4=BD=93=E8=A1=8C?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/index.html | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) 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 += '' + '' + @@ -2409,8 +2412,8 @@ function renderStrategyTable(strategies) { '' + (s.name || '') + (smallSample ? ' ⚠️' : '') + '' + '' + (st.sizing_slots ? st.sizing_slots + '仓' : '10仓') + (st.conviction_model ? '' : '') + '' + '' + ((s.description && s.description.title) ? '' : '') + '' + - cell('composite', isOverall ? s._composite : null, v => v + (s._confidence != null && s._confidence < 1 ? '×' + s._confidence.toFixed(2) + '' : ''), 'font-bold text-amber-300') + - cell('universality_score', isOverall ? (st.universality || {}).score : null, v => v + '/' + (st.universality || {}).months + '月') + + cell('composite', compositeShow, v => v + (s._confidence != null && s._confidence < 1 ? '×' + s._confidence.toFixed(2) + '' : ''), 'font-bold text-amber-300') + + cell('universality_score', universalityShow, v => v + '/' + (st.universality || {}).months + '月') + cell('full_return_pct', retShow, v => v + '%', 'font-bold text-amber-300') + cell('capital_final', capShow, v => '¥' + (v/10000).toFixed(0) + '万') + cell('cagr_pct', cagrShow, v => v + '%', hl(cagrShow, best.cagr_pct)) +