Files
xau-ai-trading-bot/web-dashboard/src/data/backtests.ts
T
buckybonezandClaude Opus 4.6 d93d790428 feat: add 5 dashboard features — dark mode, trade history, backtests, model insights, alerts
- Dark mode: class-based theme toggle with localStorage persistence and flash prevention
- Trade History (/trades): paginated table, stats cards, equity curve chart with DB API endpoints
- Backtest Viewer (/backtests): log parser for 35 backtest results, sidebar + detail + comparison tabs
- Model Insights: dashboard card + dialog showing feature importance, regime distribution, training history
- Alert/Signal Log (/alerts): signal stats, filterable table with execution tracking
- API: 8 new endpoints with psycopg2 DB connection pool
- Dark mode sweep across books page, about dialog, and all dashboard components
- Architecture docs rewritten with Mermaid diagrams (23 docs)
- README and FEATURES.md rewritten bilingual (Indonesian + English)
- main_live.py: write model_metrics.json on startup and retrain

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 05:46:54 +07:00

999 lines
23 KiB
TypeScript

// AUTO-GENERATED — do not edit manually.
// Run: node scripts/generate-backtests.js
export interface ExitReason {
reason: string;
count: number;
pct: number;
}
export interface DirectionBreakdown {
direction: string;
trades: number;
winRate: number;
pnl: number;
}
export interface SessionBreakdown {
session: string;
trades: number;
winRate: number;
pnl: number;
}
export interface BacktestResult {
id: number;
slug: string;
name: string;
logFile: string;
generatedAt: string | null;
period: string | null;
strategy: string | null;
totalTrades: number;
wins: number;
losses: number;
winRate: number;
totalProfit: number;
totalLoss: number;
netPnl: number;
profitFactor: number;
maxDrawdown: number;
maxDrawdownUsd: number;
avgWin: number;
avgLoss: number;
expectancy: number;
sharpeRatio: number;
exitReasons: ExitReason[];
directionBreakdown: DirectionBreakdown[];
sessionBreakdown: SessionBreakdown[];
tradeCount: number;
}
export const backtestResults: BacktestResult[] = [
{
"id": 1,
"slug": "01_smc_only",
"name": "Smc Only",
"logFile": "smc_only_synced_20260207_062658.log",
"generatedAt": "2026-02-07 06:26:58",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + SmartRiskManager + SmartPositionManager",
"totalTrades": 686,
"wins": 495,
"losses": 191,
"winRate": 72.2,
"totalProfit": 4908.74,
"totalLoss": 3458.88,
"netPnl": 1449.86,
"profitFactor": 1.42,
"maxDrawdown": 5.4,
"maxDrawdownUsd": 300.84,
"avgWin": 9.92,
"avgLoss": 18.11,
"expectancy": 2.11,
"sharpeRatio": 1.98,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 2,
"slug": "02_earlycut_improved",
"name": "Earlycut Improved",
"logFile": "earlycut_improved_20260207_080155.log",
"generatedAt": "2026-02-07 08:01:55",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + SmartRiskManager + SmartPositionManager",
"totalTrades": 665,
"wins": 490,
"losses": 175,
"winRate": 73.7,
"totalProfit": 4961.49,
"totalLoss": 3542.6,
"netPnl": 1418.89,
"profitFactor": 1.4,
"maxDrawdown": 7,
"maxDrawdownUsd": 415.72,
"avgWin": 10.13,
"avgLoss": 20.24,
"expectancy": 2.13,
"sharpeRatio": 1.85,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 3,
"slug": "03_sellfilter_pullback",
"name": "Sellfilter Pullback",
"logFile": "sellfilter_pullback_20260207_082203.log",
"generatedAt": "2026-02-07 08:22:03",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + Sell Filter Strict + Pullback Filter",
"totalTrades": 452,
"wins": 318,
"losses": 134,
"winRate": 70.4,
"totalProfit": 3103.92,
"totalLoss": 2345.08,
"netPnl": 758.84,
"profitFactor": 1.32,
"maxDrawdown": 3.1,
"maxDrawdownUsd": 168.97,
"avgWin": 9.76,
"avgLoss": 17.5,
"expectancy": 1.68,
"sharpeRatio": 1.57,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 4,
"slug": "04_pullback_only",
"name": "Pullback Only",
"logFile": "pullback_only_20260207_083527.log",
"generatedAt": "2026-02-07 08:35:27",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + Pullback Filter (no sell filter)",
"totalTrades": 635,
"wins": 438,
"losses": 197,
"winRate": 69,
"totalProfit": 4169.73,
"totalLoss": 3833.96,
"netPnl": 335.77,
"profitFactor": 1.09,
"maxDrawdown": 8.6,
"maxDrawdownUsd": 456.21,
"avgWin": 9.52,
"avgLoss": 19.46,
"expectancy": 0.53,
"sharpeRatio": 0.45,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 5,
"slug": "05_sellfilter_only",
"name": "Sellfilter Only",
"logFile": "sellfilter_only_20260207_085852.log",
"generatedAt": "2026-02-07 08:58:52",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + Sell Filter Strict (no pullback)",
"totalTrades": 495,
"wins": 363,
"losses": 132,
"winRate": 73.3,
"totalProfit": 3615.15,
"totalLoss": 2370.3,
"netPnl": 1244.85,
"profitFactor": 1.53,
"maxDrawdown": 3.7,
"maxDrawdownUsd": 217.83,
"avgWin": 9.96,
"avgLoss": 17.96,
"expectancy": 2.51,
"sharpeRatio": 2.35,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 6,
"slug": "06_stochastic",
"name": "Stochastic",
"logFile": "stochastic_20260207_092515.log",
"generatedAt": "2026-02-07 09:25:15",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + Stochastic Filter (K=14, OB=75, OS=25)",
"totalTrades": 580,
"wins": 440,
"losses": 140,
"winRate": 75.9,
"totalProfit": 3799.56,
"totalLoss": 2450.75,
"netPnl": 1348.81,
"profitFactor": 1.55,
"maxDrawdown": 3.8,
"maxDrawdownUsd": 253.54,
"avgWin": 8.64,
"avgLoss": 17.51,
"expectancy": 2.33,
"sharpeRatio": 2.44,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 7,
"slug": "07_ema_stack",
"name": "Ema Stack",
"logFile": "ema_stack_20260207_092409.log",
"generatedAt": "2026-02-07 09:24:09",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + EMA 50 Trend Filter + Stack Tracking",
"totalTrades": 640,
"wins": 445,
"losses": 195,
"winRate": 69.5,
"totalProfit": 4690.91,
"totalLoss": 3407.04,
"netPnl": 1283.87,
"profitFactor": 1.38,
"maxDrawdown": 4.5,
"maxDrawdownUsd": 231.44,
"avgWin": 10.54,
"avgLoss": 17.47,
"expectancy": 2.01,
"sharpeRatio": 1.75,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 8,
"slug": "08_stoch_sell",
"name": "Stoch Sell",
"logFile": "stoch_sell_20260207_094541.log",
"generatedAt": "2026-02-07 09:45:41",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + Stochastic (K=14) + Sell Filter (ML >= 55%)",
"totalTrades": 416,
"wins": 319,
"losses": 97,
"winRate": 76.7,
"totalProfit": 3046.86,
"totalLoss": 1726.45,
"netPnl": 1320.41,
"profitFactor": 1.76,
"maxDrawdown": 2.8,
"maxDrawdownUsd": 169.3,
"avgWin": 9.55,
"avgLoss": 17.8,
"expectancy": 3.17,
"sharpeRatio": 3.17,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 9,
"slug": "09_h4_zone",
"name": "H4 Zone",
"logFile": "h4_zone_20260207_115528.log",
"generatedAt": "2026-02-07 11:55:28",
"period": "2025-08-01 to 2026-02-07",
"strategy": null,
"totalTrades": 22,
"wins": 18,
"losses": 4,
"winRate": 81.8,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 361.45,
"profitFactor": 4.6,
"maxDrawdown": 0.9,
"maxDrawdownUsd": 0,
"avgWin": 25.65,
"avgLoss": 25.08,
"expectancy": 0,
"sharpeRatio": 8.34,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 10,
"slug": "10_h4_zone_tight_sl",
"name": "H4 Zone Tight Sl",
"logFile": "h4_zone_tight_sl_20260207_115533.log",
"generatedAt": "2026-02-07 11:55:33",
"period": "2025-08-01 to 2026-02-07",
"strategy": null,
"totalTrades": 22,
"wins": 18,
"losses": 4,
"winRate": 81.8,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 403.11,
"profitFactor": 5.02,
"maxDrawdown": 0.9,
"maxDrawdownUsd": 0,
"avgWin": 27.97,
"avgLoss": 25.08,
"expectancy": 0,
"sharpeRatio": 7.6,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 11,
"slug": "11_broker_sl",
"name": "Broker Sl",
"logFile": "broker_sl_20260207_125534.log",
"generatedAt": "2026-02-07 12:55:34",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + Broker SL Only Exit (simplified)",
"totalTrades": 421,
"wins": 274,
"losses": 147,
"winRate": 65.1,
"totalProfit": 5167.19,
"totalLoss": 3807.22,
"netPnl": 1359.97,
"profitFactor": 1.36,
"maxDrawdown": 6.7,
"maxDrawdownUsd": 379.43,
"avgWin": 18.86,
"avgLoss": 25.9,
"expectancy": 3.23,
"sharpeRatio": 1.73,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 12,
"slug": "12_stoch_sell_broker_sl",
"name": "Stoch Sell Broker Sl",
"logFile": "stoch_sell_broker_sl_20260207_130300.log",
"generatedAt": "2026-02-07 13:03:00",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + Stochastic (K=14) + Sell Filter (ML >= 55%) + Broker SL Only Exit",
"totalTrades": 294,
"wins": 185,
"losses": 109,
"winRate": 62.9,
"totalProfit": 3109.56,
"totalLoss": 2601.98,
"netPnl": 507.59,
"profitFactor": 1.2,
"maxDrawdown": 4.1,
"maxDrawdownUsd": 214.76,
"avgWin": 16.81,
"avgLoss": 23.87,
"expectancy": 1.73,
"sharpeRatio": 1.03,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 13,
"slug": "13_patient_exit",
"name": "Patient Exit",
"logFile": "patient_exit_20260207_134440.log",
"generatedAt": "2026-02-07 13:44:40",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + Patient Exit (BE=80, Trail=100/60, Timeout=6h/8h/12h)",
"totalTrades": 602,
"wins": 371,
"losses": 231,
"winRate": 61.6,
"totalProfit": 4736.93,
"totalLoss": 3764.01,
"netPnl": 972.92,
"profitFactor": 1.26,
"maxDrawdown": 6,
"maxDrawdownUsd": 352.41,
"avgWin": 12.77,
"avgLoss": 16.29,
"expectancy": 1.62,
"sharpeRatio": 1.3,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 14,
"slug": "14_stoch_sell_patient",
"name": "Stoch Sell Patient",
"logFile": "stoch_sell_patient_20260207_135336.log",
"generatedAt": "2026-02-07 13:53:36",
"period": "2025-08-01 to 2026-02-07",
"strategy": "SMC-Only v4 + Stochastic (K=14) + Sell Filter (ML >= 55%) + Patient Exit",
"totalTrades": 375,
"wins": 232,
"losses": 143,
"winRate": 61.9,
"totalProfit": 2728.58,
"totalLoss": 2158.28,
"netPnl": 570.3,
"profitFactor": 1.26,
"maxDrawdown": 5,
"maxDrawdownUsd": 270.07,
"avgWin": 11.76,
"avgLoss": 15.09,
"expectancy": 1.52,
"sharpeRatio": 1.33,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 15,
"slug": "15_compression",
"name": "Compression",
"logFile": "compression_20260207_143411.log",
"generatedAt": null,
"period": "2025-08-01 to 2026-02-07",
"strategy": null,
"totalTrades": 566,
"wins": 0,
"losses": 0,
"winRate": 71,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.32,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 9.33,
"avgLoss": 17.34,
"expectancy": 0,
"sharpeRatio": 1.46,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 16,
"slug": "16_quasimodo",
"name": "Quasimodo",
"logFile": "quasimodo_20260207_144520.log",
"generatedAt": null,
"period": "2025-08-01 to 2026-02-07",
"strategy": null,
"totalTrades": 693,
"wins": 0,
"losses": 0,
"winRate": 71.3,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.26,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 1.28,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 17,
"slug": "17_liquidity_sweep",
"name": "Liquidity Sweep",
"logFile": "liq_sweep_20260207_173839.log",
"generatedAt": "2026-02-07 17:38:39",
"period": "2025-08-01 to 2026-02-07",
"strategy": null,
"totalTrades": 649,
"wins": 462,
"losses": 187,
"winRate": 71.2,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 1251.66,
"profitFactor": 1.39,
"maxDrawdown": 5.4,
"maxDrawdownUsd": 300.84,
"avgWin": 9.67,
"avgLoss": 17.19,
"expectancy": 1.93,
"sharpeRatio": 1.83,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 18,
"slug": "18_multi_confirm",
"name": "Multi Confirm",
"logFile": "multi_confirm_20260207_180210.log",
"generatedAt": null,
"period": "2025-08-01 to 2026-02-07",
"strategy": null,
"totalTrades": 581,
"wins": 0,
"losses": 0,
"winRate": 69,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 800.21,
"profitFactor": 1.22,
"maxDrawdown": 6.6,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 1.15,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 19,
"slug": "19_session_optimize",
"name": "Session Optimize",
"logFile": "session_opt_20260207_173705.log",
"generatedAt": null,
"period": "2025-08-01 to 2026-02-07",
"strategy": null,
"totalTrades": 683,
"wins": 0,
"losses": 0,
"winRate": 73.4,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 1794.94,
"profitFactor": 1.54,
"maxDrawdown": 5.2,
"maxDrawdownUsd": 0,
"avgWin": 10.22,
"avgLoss": 18.26,
"expectancy": 0,
"sharpeRatio": 2.41,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 20,
"slug": "20_early_cut",
"name": "Early Cut",
"logFile": "early_cut_20260207_192032.log",
"generatedAt": "2026-02-07 19:20:32.439516",
"period": null,
"strategy": null,
"totalTrades": 685,
"wins": 0,
"losses": 0,
"winRate": 72.4,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.42,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 1.97,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 21,
"slug": "21_combined",
"name": "Combined",
"logFile": "combined_20260207_211844.log",
"generatedAt": "2026-02-07 21:18:44.623588",
"period": null,
"strategy": null,
"totalTrades": 679,
"wins": 0,
"losses": 0,
"winRate": 74.4,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.56,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 2.46,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 22,
"slug": "22_atr_adaptive",
"name": "Atr Adaptive",
"logFile": "atr_adaptive_20260207_220928.log",
"generatedAt": "2026-02-07 22:09:28.783855",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 0,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 0,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 23,
"slug": "23_confidence_weight",
"name": "Confidence Weight",
"logFile": "conf_weight_20260207_220909.log",
"generatedAt": "2026-02-07 22:09:09.940414",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 0,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 0,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 24,
"slug": "24_final_combined",
"name": "Final Combined",
"logFile": "final_combined_20260207_222406.log",
"generatedAt": "2026-02-07 22:24:06.260094",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.63,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 2.56,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 26,
"slug": "26_sell_improvement",
"name": "Sell Improvement",
"logFile": "sell_improve_20260207_233806.log",
"generatedAt": "2026-02-07 23:38:06.417970",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.77,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 2.87,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 27,
"slug": "27_regime_aware",
"name": "Regime Aware",
"logFile": "regime_aware_20260208_053630.log",
"generatedAt": "2026-02-08 05:36:30.925686",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.74,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 2.75,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 28,
"slug": "28_smart_breakeven",
"name": "Smart Breakeven",
"logFile": "smart_be_20260208_060756.log",
"generatedAt": "2026-02-08 06:07:56.973899",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.7,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 2.69,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 29,
"slug": "29_confluence_scoring",
"name": "Confluence Scoring",
"logFile": "confluence_20260208_064829.log",
"generatedAt": "2026-02-08 06:48:29.232714",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.49,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 2.21,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 30,
"slug": "30_dynamic_rr",
"name": "Dynamic Rr",
"logFile": "dynamic_rr_20260208_071602.log",
"generatedAt": "2026-02-08 07:16:02.652327",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.8,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 3.17,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 31,
"slug": "31_multi_tf_h1",
"name": "Multi Tf H1",
"logFile": "multi_tf_20260208_091856.log",
"generatedAt": "2026-02-08 09:18:56.106348",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 1.64,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 2.49,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 32,
"slug": "32_ml_exit",
"name": "Ml Exit",
"logFile": "ml_exit_20260208_102500.log",
"generatedAt": "2026-02-08 10:25:00.005539",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 2.19,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 3.97,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 33,
"slug": "33_impulse_trail",
"name": "Impulse Trail",
"logFile": "impulse_trail_20260208_114314.log",
"generatedAt": "2026-02-08 11:43:14.406433",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 2.21,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 4.02,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 34,
"slug": "34_ml_v2d",
"name": "Ml V2d",
"logFile": "ml_v2d_time_filter_20260208_221541.log",
"generatedAt": "2026-02-08 22:15:41.592688",
"period": null,
"strategy": null,
"totalTrades": 625,
"wins": 0,
"losses": 0,
"winRate": 81.9,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 2.22,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 4.04,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 34,
"slug": "34_time_filter",
"name": "Time Filter",
"logFile": "time_filter_20260208_124324.log",
"generatedAt": "2026-02-08 12:43:24.700789",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 2.43,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 4.41,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
},
{
"id": 35,
"slug": "35_fix_sl_bug",
"name": "Fix Sl Bug",
"logFile": "fix_sl_bug_20260208_184506.log",
"generatedAt": "2026-02-08 18:45:06.641730",
"period": null,
"strategy": null,
"totalTrades": 0,
"wins": 0,
"losses": 0,
"winRate": 0,
"totalProfit": 0,
"totalLoss": 0,
"netPnl": 0,
"profitFactor": 2.43,
"maxDrawdown": 0,
"maxDrawdownUsd": 0,
"avgWin": 0,
"avgLoss": 0,
"expectancy": 0,
"sharpeRatio": 4.41,
"exitReasons": [],
"directionBreakdown": [],
"sessionBreakdown": [],
"tradeCount": 0
}
];