仪表盘
活跃持仓
{{ openPositionsCount }}
历史触发
{{ positions.length }}
累计 PnL
{{ cumPnl >= 0 ? '+' : '' }}{{ cumPnl.toFixed(2) }}%
配置
K={{ config?.k }} {{ config?.leverage }}x max={{ config?.max_concurrent }}
{{ config?.rebalance_mode }} · p{{ Math.round((config?.quantile||0)*100) }}
最近信号
| 时间 | Variant | disp 1d | disp 2d | disp 3d | 触发? | Top 3 |
|---|---|---|---|---|---|---|
| {{ fmtTime(s.signal_time) }} | {{ s.variant }} | {{ fmtPct(s.dispersion_1d) }} | {{ fmtPct(s.dispersion_2d) }} | {{ fmtPct(s.dispersion_3d) }} | {{ triggered(s) ? '✓' : '—' }} | {{ (s.top_candidates || []).slice(0,3).map(c => c.symbol).join(', ') }} |
| 暂无信号 | ||||||
最近持仓
| ID | 入场时间 | Symbols | Size | 状态 | PnL |
|---|---|---|---|---|---|
| {{ p.id }} | {{ fmtTime(p.entry_time) }} | {{ (p.symbols || []).join(', ') }} | {{ p.size_factor?.toFixed(2) }}x | {{ p.status }} | {{ p.pnl_pct != null ? (p.pnl_pct >= 0 ? '+' : '') + p.pnl_pct.toFixed(2) + '%' : '—' }} |
| 暂无持仓 | |||||
策略配置
K 越小信号越浓但风险越大
触及该回撤自动 kill switch
{{ configMsg }}
回测
配置
{{ currentRun.name || '回测 #' + currentRun.id }}
{{ currentRun.status }}{{ progressMsg || '进行中...' }}
错误: {{ currentRun.error_message }}
最终金额
${{ currentRun.final_equity?.toFixed(0) }}
总收益
{{ (currentRun.total_return_pct >= 0 ? '+' : '') + (currentRun.total_return_pct||0).toFixed(1) }}%
Max DD
{{ (currentRun.max_dd_pct||0).toFixed(1) }}%
触发次数
{{ currentRun.n_trades }}
历史回测
| ID | 名称 | 配置 | 收益 | DD | 笔数 | 状态 | |
|---|---|---|---|---|---|---|---|
| {{ r.id }} | {{ r.name || '—' }} | K={{ r.config.K }} {{ r.config.leverage }}x max={{ r.config.max_concurrent }} | {{ r.total_return_pct != null ? (r.total_return_pct >= 0 ? '+' : '') + r.total_return_pct.toFixed(1) + '%' : '—' }} | {{ r.max_dd_pct != null ? r.max_dd_pct.toFixed(1) + '%' : '—' }} | {{ r.n_trades ?? '—' }} | {{ r.status }} | |
| 无回测记录 | |||||||