@if (dashboardService.loading()) { @for (_ of [1,2,3,4,5,6]; track $index) { } } @else { @let s = dashboardService.stats(); @if (s) { } }
@if (dashboardService.loading()) {
} @else { @let s = dashboardService.stats(); @if (s) {

Cumulative P&L

@if (cumulativePnlData().length > 0) {
} @else {
No trade data available
}
@if (s.wins + s.losses + s.breakeven > 0) {
} @else {
No trade data available
}
} } @if (dashboardService.loading()) {
@for (_ of [1,2,3,4]; track $index) {
@for (_ of [1,2,3,4,5,6]; track $index) {
}
}
} @else { @let s = dashboardService.stats(); @if (s) {
Performance
Total PnL {{ formatCurrency(s.total_pnl) }}
Total Fees {{ formatCurrency(s.total_fees) }}
Net PnL {{ formatCurrency(s.net_pnl) }}
Avg Trade PnL {{ formatCurrency(s.avg_trade_pnl) }}
Median PnL {{ formatCurrency(s.median_pnl) }}
Avg Win {{ formatCurrency(s.avg_win) }}
Avg Loss {{ formatCurrency(s.avg_loss) }}
Max Win {{ formatCurrency(s.max_win) }}
Max Loss {{ formatCurrency(s.max_loss) }}
Risk Metrics
Sharpe Ratio {{ s.sharpe_ratio.toFixed(3) }}
Sortino Ratio {{ s.sortino_ratio.toFixed(3) }}
Max Drawdown {{ formatCurrency(s.max_drawdown) }}
Max DD Duration {{ s.max_drawdown_duration }} trades
Profit Factor {{ s.profit_factor.toFixed(2) }}
Payoff Ratio {{ s.payoff_ratio.toFixed(2) }}
Expectancy {{ formatCurrency(s.expectancy) }}
Std Dev PnL {{ formatCurrency(s.std_dev_pnl) }}
Trade Analysis
Total Trades {{ s.total_trades }}
Open {{ s.open_trades }}
Closed {{ s.closed_trades }}
Winning {{ s.wins }}
Losing {{ s.losses }}
Win Rate {{ s.win_rate }}%
Best Streak {{ s.max_win_streak }} trades
Worst Streak {{ s.max_loss_streak }} trades
Time & Distribution
Avg Holding {{ formatDuration(s.avg_holding_seconds) }}
Avg Hold (Wins) {{ formatDuration(s.avg_holding_wins_seconds) }}
Avg Hold (Losses) {{ formatDuration(s.avg_holding_losses_seconds) }}
Std Dev PnL {{ formatCurrency(s.std_dev_pnl) }}
Skewness {{ s.skewness.toFixed(3) }}
Kurtosis {{ s.kurtosis.toFixed(3) }}
Strategies {{ s.total_strategies }} ({{ s.active_strategies }} active)
} }

Strategies

View All
@if (strategyService.loading()) {
@for (_ of [1,2,3]; track $index) {
@for (_ of [1,2,3]; track $index) {
}
}
} @else {
@for (strategy of strategyService.strategies().slice(0, 4); track strategy.id) {

{{ strategy.display_name }}

@if (strategy.last_trade_at) { {{ relativeTime(strategy.last_trade_at) }} }
} @empty {
}
}

Recent Trades

View All