{
  "created_utc": "2026-09-22T15:27:18.818604+00:00",
  "protocol": {
    "version": "2.0",
    "registered_before_batch": true,
    "periods": [
      [
        "2025",
        "2025-01-01",
        "2025-12-31"
      ],
      [
        "2026",
        "2026-01-01",
        "2026-09-18"
      ],
      [
        "combined",
        "2025-01-01",
        "2026-09-18"
      ]
    ],
    "selection_rule": "Research candidate only if a pair has >=30 trades in EACH calendar subperiod, positive net returns and PF >=1.10 in EACH subperiod under BOTH cost scenarios, and combined maximum drawdown <=15% under BOTH scenarios. Not a statistical profitability proof. All pairs and failures are retained.",
    "base_costs": "Spread 1.0 pip for majors; 1.5 EURGBP/EURJPY; 2.0 GBPJPY/AUDNZD. USD7/100k round-trip commission; 0.1 pip adverse market/stop slippage per fill. Financing=max(negative current native swap,0.2pip/night), no positive credit, native triple-swap day.",
    "stress_costs": "Double base spread; 0.3 pip adverse slippage/fill; same commission; double max(negative current native swap,0.5pip/night).",
    "source": "Native ICMarketsEU-Demo Bid OHLC. Decisions on published timeframe, execution on M15. Historical spread fields are mostly zero and cannot establish actual historical transaction costs.",
    "limitations": [
      "Bar execution, not a real-tick MT5 Strategy Tester run. Same-bar ambiguity is treated adversely and counted.",
      "Current swap snapshot is an explicit stress assumption, not historical funding.",
      "One isolated USD10,000 account per strategy/pair, leverage ceiling30, broker minimum lots and steps. Results cannot be added into one portfolio.",
      "2026 is a later evaluation slice, not untouched independent out-of-sample evidence; no parameter optimization was performed.",
      "Retrospective scheduled MT5 calendar may contain revised release times. UTC export normalized to NY-close broker clock against BLS releases.",
      "General discretionary event avoidance is fixed as high-impact events for either currency +/-30min. IDs1/17 next60min; ID20 next120min. ID13 UK bank holidays excluded. Subjective trend quality, unscheduled events and all-country holiday/session quality are not fully quantifiable; these are documented mechanical variants.",
      "Sparse broker histories are reported with shorter effective coverage and are ineligible for a candidate label.",
      "Native indicator parity: ATR, SMA, RSI, MACD, bands, stochastic, WPR, CCI and Ichimoku matched native buffers on EURUSD H4 within rounding tolerance; Wilder ADX matched the MetaQuotes ADXW example. EMA200 seed residual at 1,000 bars was 0.000000715, falling below 0.0000000001 after 2,000 bars.",
      "Built-in iSAR differs from the published MetaQuotes example on reversal bars. ID9 therefore uses actual built-in iSAR buffers exported by MT5, joined by timestamp, not the approximate Python SAR. Native GBPUSD/USDJPY SAR history needs 300 warm-up bars from January 2025, so those rows start later and cannot pass the full-period screen.",
      "37 automated checks passed: execution gaps, short ask prices, ambiguous stop/target candles, partial commissions, pending expiry, time zones, rule regression cases and monthly portfolio no-lookahead/cash costs."
    ]
  },
  "statuses": [
    {
      "strategy_id": 1,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 2,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 42
    },
    {
      "strategy_id": 3,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 4,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 5,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 6,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 7,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 8,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 9,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 10,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 11,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 12,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 13,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 14,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 15,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 16,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 17,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 18,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 19,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 20,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 24
    },
    {
      "strategy_id": 21,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 22,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 23,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 24,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 25,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 26,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    },
    {
      "strategy_id": 27,
      "status": "mechanical bar tests completed",
      "research_candidates": [],
      "run_count": 18
    }
  ],
  "code_sha256": {
    "audit_native_sar.py": "5c4daabe2d6e527373cffdef5226192607f6f9a457fb18a877052e06c6855fb7",
    "core.py": "6c1bb00c5c6cb8b53bf0553e93fa03eb4b9521cb49da4d51fff58be77857eb6c",
    "engine.py": "bd1e956ac29c654323a031a15235da8a94d38596e4eda211cb4ff26100667207",
    "extract_history.py": "1ba4bbc8ed6c414afedbc5eacf1cd851cbee071f1f10dac9043ed1a8bcde5cb7",
    "indicators.py": "5ac5cf3b42934d2e4aa5aebf42c72dced16e7b3226251af54b6bfa8a1a3846b9",
    "portfolio_research.py": "833949116b5b85e54286464f4cf02ad6b3860a0235c2f4a525ad3e1e076f74f4",
    "probe_mt5.py": "91ee1c5d979e4b873d593307b9f0434781c6079c5db3b754750b9ebddf4a49fa",
    "rules_basic.py": "cfb270a13dcbbf3ad8155aa47967fb3c0994c50cc1f5d57f8e4d6a4cd704c040",
    "rules_reversal.py": "355ed9373df9434eb031c90954aeb18f948769429d3ae7523b600ff57c140a40",
    "rules_trend.py": "e2fef99afcea3c9063148f23c8bbb1ff45bb9ecd913d81dec42c221766faf59f",
    "runner.py": "ffe7ef71a417922afa41aad23889d735c13f9c567de32d4e34b32c9c8137e5e7",
    "run_indicator_parity.py": "b17b9a77824eaaa1115ceb1e4d8e2f9143ef8e609d2f7251d8755855db68fde9",
    "run_spotcheck.py": "6f2b2dad7ef83d0389220c30e4dbaab65b66c42a3037cd2f3455bddc73712c8b",
    "test_core.py": "d95e1e064a442ed3896dee833aa8210fbd92bd525cf9d0816a949726e27fbb87",
    "test_engine.py": "14bb7696927debab968528bdadad4f1f7deec7d577d229bef9bec7977bd9fc74",
    "test_portfolio_research.py": "bfe81937a9c6e97306aa4df6091f37383750ec6fd9f7a74bd0ecc04697e9baf2",
    "test_rules_reversal.py": "67edd622c759cc664a2e6c7f79864004d844512115201c4a72c5c18676196387",
    "test_rules_trend.py": "8a339024ed34c74cd0428ec2962a89bd01cea50d820e21069558a539e88dac0d"
  },
  "results": [
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 10,
        "net_usd": -86.74,
        "return_pct": -0.867,
        "profit_factor": 0.3874,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 1.391,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 10,
        "net_usd": -123.32,
        "return_pct": -1.233,
        "profit_factor": 0.2552,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 1.637,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": -48.55,
        "return_pct": -0.486,
        "profit_factor": 0.451,
        "win_rate_pct": 42.86,
        "max_drawdown_pct": 1.044,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": -87.45,
        "return_pct": -0.874,
        "profit_factor": 0.2041,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 1.228,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 17,
        "net_usd": -154.28,
        "return_pct": -1.543,
        "profit_factor": 0.3528,
        "win_rate_pct": 35.29,
        "max_drawdown_pct": 2.313,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 17,
        "net_usd": -231.41,
        "return_pct": -2.314,
        "profit_factor": 0.2013,
        "win_rate_pct": 29.41,
        "max_drawdown_pct": 2.802,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 10,
        "net_usd": -131.05,
        "return_pct": -1.31,
        "profit_factor": 0.1969,
        "win_rate_pct": 30.0,
        "max_drawdown_pct": 2.349,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "01-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 10,
        "net_usd": -150.38,
        "return_pct": -1.504,
        "profit_factor": 0.1232,
        "win_rate_pct": 30.0,
        "max_drawdown_pct": 2.43,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "01-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 8,
        "net_usd": -115.05,
        "return_pct": -1.151,
        "profit_factor": 0.0324,
        "win_rate_pct": 12.5,
        "max_drawdown_pct": 1.214,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 8,
        "net_usd": -128.14,
        "return_pct": -1.281,
        "profit_factor": 0.0026,
        "win_rate_pct": 12.5,
        "max_drawdown_pct": 1.341,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 17,
        "net_usd": -224.21,
        "return_pct": -2.242,
        "profit_factor": 0.1095,
        "win_rate_pct": 23.53,
        "max_drawdown_pct": 2.754,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "01-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 17,
        "net_usd": -256.3,
        "return_pct": -2.563,
        "profit_factor": 0.0465,
        "win_rate_pct": 23.53,
        "max_drawdown_pct": 3.031,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "01-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": 30.19,
        "return_pct": 0.302,
        "profit_factor": 1.7077,
        "win_rate_pct": 80.0,
        "max_drawdown_pct": 1.24,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": 5.52,
        "return_pct": 0.055,
        "profit_factor": 1.1209,
        "win_rate_pct": 60.0,
        "max_drawdown_pct": 1.352,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": -191.84,
        "return_pct": -1.918,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 2.233,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": -223.15,
        "return_pct": -2.232,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 2.54,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": -107.23,
        "return_pct": -1.072,
        "profit_factor": 0.3574,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 2.1,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -162.08,
        "return_pct": -1.621,
        "profit_factor": 0.1939,
        "win_rate_pct": 18.18,
        "max_drawdown_pct": 2.553,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 10,
        "net_usd": -227.06,
        "return_pct": -2.271,
        "profit_factor": 0.0579,
        "win_rate_pct": 10.0,
        "max_drawdown_pct": 2.517,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "01-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 10,
        "net_usd": -262.07,
        "return_pct": -2.621,
        "profit_factor": 0.0375,
        "win_rate_pct": 10.0,
        "max_drawdown_pct": 2.84,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "01-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": 56.68,
        "return_pct": 0.567,
        "profit_factor": 3.8316,
        "win_rate_pct": 60.0,
        "max_drawdown_pct": 1.245,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": 15.98,
        "return_pct": 0.16,
        "profit_factor": 1.678,
        "win_rate_pct": 60.0,
        "max_drawdown_pct": 1.341,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "01-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 14,
        "net_usd": -139.1,
        "return_pct": -1.391,
        "profit_factor": 0.4671,
        "win_rate_pct": 21.43,
        "max_drawdown_pct": 2.517,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "01-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 1,
      "title": "Donchian 20/10 Close Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 14,
        "net_usd": -205.54,
        "return_pct": -2.055,
        "profit_factor": 0.3053,
        "win_rate_pct": 21.43,
        "max_drawdown_pct": 2.84,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "01-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": -27.59,
        "return_pct": -0.276,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.667,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "02-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -42.46,
        "return_pct": -0.425,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.768,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "02-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": -74.01,
        "return_pct": -0.74,
        "profit_factor": 0.1455,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 0.923,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -85.91,
        "return_pct": -0.859,
        "profit_factor": 0.113,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 1.032,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": -92.77,
        "return_pct": -0.928,
        "profit_factor": 0.1196,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 1.253,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "02-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -121.96,
        "return_pct": -1.22,
        "profit_factor": 0.0823,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 1.527,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "02-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": 41.89,
        "return_pct": 0.419,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.833,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "02-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": 27.88,
        "return_pct": 0.279,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.897,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "02-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 3,
        "net_usd": -63.07,
        "return_pct": -0.631,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.06,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "02-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 3,
        "net_usd": -70.21,
        "return_pct": -0.702,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.118,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "02-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 3,
        "net_usd": -4.59,
        "return_pct": -0.046,
        "profit_factor": 0.8758,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 0.919,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "02-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 3,
        "net_usd": -29.84,
        "return_pct": -0.298,
        "profit_factor": 0.263,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 1.122,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "02-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 3,
        "net_usd": -13.98,
        "return_pct": -0.14,
        "profit_factor": 0.3777,
        "win_rate_pct": 66.67,
        "max_drawdown_pct": 0.473,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "02-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 3,
        "net_usd": -17.97,
        "return_pct": -0.18,
        "profit_factor": 0.2239,
        "win_rate_pct": 66.67,
        "max_drawdown_pct": 0.488,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "02-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": 11.86,
        "return_pct": 0.119,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.69,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -1.6,
        "return_pct": -0.016,
        "profit_factor": 0.761,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.714,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": -2.21,
        "return_pct": -0.022,
        "profit_factor": 0.9015,
        "win_rate_pct": 80.0,
        "max_drawdown_pct": 0.691,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 10
      },
      "trade_log": "02-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -19.82,
        "return_pct": -0.198,
        "profit_factor": 0.336,
        "win_rate_pct": 60.0,
        "max_drawdown_pct": 0.715,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 10
      },
      "trade_log": "02-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": 48.41,
        "return_pct": 0.484,
        "profit_factor": 3.1113,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.587,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCHF-2025-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -1.17,
        "return_pct": -0.012,
        "profit_factor": 0.9586,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.805,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCHF-2025-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 4,
        "net_usd": -41.2,
        "return_pct": -0.412,
        "profit_factor": 0.2794,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 0.995,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCHF-2026-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 4,
        "net_usd": -79.32,
        "return_pct": -0.793,
        "profit_factor": 0.1494,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 1.312,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCHF-2026-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": 1.04,
        "return_pct": 0.01,
        "profit_factor": 1.0298,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 1.094,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCHF-combined-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -88.9,
        "return_pct": -0.889,
        "profit_factor": 0.1355,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 1.711,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCHF-combined-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCAD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2026-03-03T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCAD-2025-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCAD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2026-03-03T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCAD-2025-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCAD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-03-03T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": 26.78,
        "return_pct": 0.268,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.737,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCAD-2026-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCAD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-03-03T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": 8.84,
        "return_pct": 0.088,
        "profit_factor": 6.2775,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.805,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCAD-2026-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCAD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2026-03-03T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": 26.78,
        "return_pct": 0.268,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.737,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCAD-combined-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "USDCAD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2026-03-03T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": 8.84,
        "return_pct": 0.088,
        "profit_factor": 6.2775,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.805,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-USDCAD-combined-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": -46.47,
        "return_pct": -0.465,
        "profit_factor": 0.2722,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 0.736,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -63.16,
        "return_pct": -0.632,
        "profit_factor": 0.1538,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 0.843,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": 76.06,
        "return_pct": 0.761,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.828,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": 38.5,
        "return_pct": 0.385,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.908,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": -8.65,
        "return_pct": -0.086,
        "profit_factor": 0.8646,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 0.736,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -44.19,
        "return_pct": -0.442,
        "profit_factor": 0.408,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 0.843,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "NZDUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 4,
        "net_usd": -35.77,
        "return_pct": -0.358,
        "profit_factor": 0.2996,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 0.742,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-NZDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "NZDUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 4,
        "net_usd": -57.09,
        "return_pct": -0.571,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.784,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-NZDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "NZDUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": 35.02,
        "return_pct": 0.35,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.875,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-NZDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "NZDUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": 9.36,
        "return_pct": 0.094,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.95,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "02-NZDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "NZDUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 6,
        "net_usd": -1.11,
        "return_pct": -0.011,
        "profit_factor": 0.9783,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.878,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-NZDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 2,
      "title": "252-Day Time-Series Momentum",
      "symbol": "NZDUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 6,
        "net_usd": -48.33,
        "return_pct": -0.483,
        "profit_factor": 0.1622,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 0.958,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "02-NZDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": 18.58,
        "return_pct": 0.186,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.519,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": -2.52,
        "return_pct": -0.025,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.57,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": 52.1,
        "return_pct": 0.521,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.788,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": 27.18,
        "return_pct": 0.272,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.884,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": 70.68,
        "return_pct": 0.707,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.786,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": 24.66,
        "return_pct": 0.247,
        "profit_factor": 10.7737,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.884,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": -63.06,
        "return_pct": -0.631,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.111,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -75.8,
        "return_pct": -0.758,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.2,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": -193.19,
        "return_pct": -1.932,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 2.059,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -205.33,
        "return_pct": -2.053,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 2.177,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": -256.25,
        "return_pct": -2.562,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 3.033,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": -281.13,
        "return_pct": -2.811,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 3.244,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": -23.54,
        "return_pct": -0.235,
        "profit_factor": 0.6972,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 2.49,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -78.55,
        "return_pct": -0.786,
        "profit_factor": 0.3695,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 2.898,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": 32.54,
        "return_pct": 0.325,
        "profit_factor": 1.4187,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 2.49,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -40.39,
        "return_pct": -0.404,
        "profit_factor": 0.6758,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 2.898,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": -79.03,
        "return_pct": -0.79,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.084,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDCHF-2025-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -92.9,
        "return_pct": -0.929,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.202,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDCHF-2025-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": 28.95,
        "return_pct": 0.29,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.643,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDCHF-2026-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": -46.33,
        "return_pct": -0.463,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.69,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDCHF-2026-stress.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 3,
        "net_usd": -50.08,
        "return_pct": -0.501,
        "profit_factor": 0.3663,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 1.446,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDCHF-combined-base.json.gz"
    },
    {
      "strategy_id": 3,
      "title": "SMA 50/200 Daily Crossover",
      "symbol": "USDCHF",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 3,
        "net_usd": -139.24,
        "return_pct": -1.392,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.664,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "03-USDCHF-combined-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 52,
        "net_usd": -492.65,
        "return_pct": -4.927,
        "profit_factor": 0.5341,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 5.344,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 6
      },
      "trade_log": "04-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 52,
        "net_usd": -524.15,
        "return_pct": -5.242,
        "profit_factor": 0.5121,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 5.642,
        "ambiguous_execution_bars": 2,
        "rejected_entries": 6
      },
      "trade_log": "04-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 31,
        "net_usd": -453.71,
        "return_pct": -4.537,
        "profit_factor": 0.267,
        "win_rate_pct": 22.58,
        "max_drawdown_pct": 5.422,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "04-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 31,
        "net_usd": -502.53,
        "return_pct": -5.025,
        "profit_factor": 0.2304,
        "win_rate_pct": 22.58,
        "max_drawdown_pct": 5.872,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "04-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 83,
        "net_usd": -910.01,
        "return_pct": -9.1,
        "profit_factor": 0.4421,
        "win_rate_pct": 24.1,
        "max_drawdown_pct": 9.752,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 8
      },
      "trade_log": "04-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 83,
        "net_usd": -990.39,
        "return_pct": -9.904,
        "profit_factor": 0.4105,
        "win_rate_pct": 24.1,
        "max_drawdown_pct": 10.545,
        "ambiguous_execution_bars": 2,
        "rejected_entries": 8
      },
      "trade_log": "04-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 53,
        "net_usd": -222.98,
        "return_pct": -2.23,
        "profit_factor": 0.7593,
        "win_rate_pct": 33.96,
        "max_drawdown_pct": 4.345,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "04-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 53,
        "net_usd": -282.87,
        "return_pct": -2.829,
        "profit_factor": 0.7052,
        "win_rate_pct": 33.96,
        "max_drawdown_pct": 4.615,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "04-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 36,
        "net_usd": -409.5,
        "return_pct": -4.095,
        "profit_factor": 0.3988,
        "win_rate_pct": 22.22,
        "max_drawdown_pct": 5.421,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "04-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 36,
        "net_usd": -553.99,
        "return_pct": -5.54,
        "profit_factor": 0.2733,
        "win_rate_pct": 16.67,
        "max_drawdown_pct": 6.733,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "04-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 89,
        "net_usd": -615.03,
        "return_pct": -6.15,
        "profit_factor": 0.6122,
        "win_rate_pct": 29.21,
        "max_drawdown_pct": 9.113,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "04-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 89,
        "net_usd": -817.78,
        "return_pct": -8.178,
        "profit_factor": 0.519,
        "win_rate_pct": 26.97,
        "max_drawdown_pct": 10.849,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "04-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 57,
        "net_usd": -358.26,
        "return_pct": -3.583,
        "profit_factor": 0.6589,
        "win_rate_pct": 36.84,
        "max_drawdown_pct": 6.343,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "04-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 57,
        "net_usd": -420.82,
        "return_pct": -4.208,
        "profit_factor": 0.6006,
        "win_rate_pct": 35.09,
        "max_drawdown_pct": 6.441,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "04-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 32,
        "net_usd": 407.82,
        "return_pct": 4.078,
        "profit_factor": 1.8225,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 2.425,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "04-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 32,
        "net_usd": 316.86,
        "return_pct": 3.169,
        "profit_factor": 1.6298,
        "win_rate_pct": 34.38,
        "max_drawdown_pct": 2.43,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "04-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 89,
        "net_usd": 9.79,
        "return_pct": 0.098,
        "profit_factor": 1.0065,
        "win_rate_pct": 37.08,
        "max_drawdown_pct": 6.474,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 12
      },
      "trade_log": "04-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 89,
        "net_usd": -156.74,
        "return_pct": -1.567,
        "profit_factor": 0.8975,
        "win_rate_pct": 34.83,
        "max_drawdown_pct": 6.747,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 12
      },
      "trade_log": "04-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 56,
        "net_usd": -862.08,
        "return_pct": -8.621,
        "profit_factor": 0.2625,
        "win_rate_pct": 17.86,
        "max_drawdown_pct": 8.632,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 5
      },
      "trade_log": "04-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 56,
        "net_usd": -1037.35,
        "return_pct": -10.373,
        "profit_factor": 0.1905,
        "win_rate_pct": 14.29,
        "max_drawdown_pct": 10.373,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 5
      },
      "trade_log": "04-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 39,
        "net_usd": -324.7,
        "return_pct": -3.247,
        "profit_factor": 0.5315,
        "win_rate_pct": 28.21,
        "max_drawdown_pct": 5.093,
        "ambiguous_execution_bars": 2,
        "rejected_entries": 5
      },
      "trade_log": "04-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 38,
        "net_usd": -367.14,
        "return_pct": -3.671,
        "profit_factor": 0.4605,
        "win_rate_pct": 26.32,
        "max_drawdown_pct": 5.2,
        "ambiguous_execution_bars": 2,
        "rejected_entries": 6
      },
      "trade_log": "04-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 94,
        "net_usd": -1141.33,
        "return_pct": -11.413,
        "profit_factor": 0.3609,
        "win_rate_pct": 22.34,
        "max_drawdown_pct": 12.393,
        "ambiguous_execution_bars": 3,
        "rejected_entries": 10
      },
      "trade_log": "04-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 4,
      "title": "EMA20 Pullback in EMA200 Trend",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 93,
        "net_usd": -1328.45,
        "return_pct": -13.284,
        "profit_factor": 0.2835,
        "win_rate_pct": 19.35,
        "max_drawdown_pct": 14.122,
        "ambiguous_execution_bars": 3,
        "rejected_entries": 11
      },
      "trade_log": "04-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 28,
        "net_usd": -178.34,
        "return_pct": -1.783,
        "profit_factor": 0.6647,
        "win_rate_pct": 35.71,
        "max_drawdown_pct": 2.49,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 28,
        "net_usd": -228.37,
        "return_pct": -2.284,
        "profit_factor": 0.5812,
        "win_rate_pct": 35.71,
        "max_drawdown_pct": 2.697,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 21,
        "net_usd": 237.62,
        "return_pct": 2.376,
        "profit_factor": 1.7224,
        "win_rate_pct": 52.38,
        "max_drawdown_pct": 1.274,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 23,
        "net_usd": 173.49,
        "return_pct": 1.735,
        "profit_factor": 1.4597,
        "win_rate_pct": 47.83,
        "max_drawdown_pct": 1.479,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 49,
        "net_usd": 46.92,
        "return_pct": 0.469,
        "profit_factor": 1.0547,
        "win_rate_pct": 42.86,
        "max_drawdown_pct": 3.326,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 51,
        "net_usd": -56.81,
        "return_pct": -0.568,
        "profit_factor": 0.9381,
        "win_rate_pct": 41.18,
        "max_drawdown_pct": 3.563,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 33,
        "net_usd": 9.71,
        "return_pct": 0.097,
        "profit_factor": 1.0184,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.083,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "05-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 33,
        "net_usd": -51.75,
        "return_pct": -0.517,
        "profit_factor": 0.9092,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.17,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "05-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 21,
        "net_usd": -63.52,
        "return_pct": -0.635,
        "profit_factor": 0.8061,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.832,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 21,
        "net_usd": -94.47,
        "return_pct": -0.945,
        "profit_factor": 0.7215,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 2.949,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 54,
        "net_usd": -53.81,
        "return_pct": -0.538,
        "profit_factor": 0.937,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 3.674,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "05-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 54,
        "net_usd": -146.22,
        "return_pct": -1.462,
        "profit_factor": 0.8391,
        "win_rate_pct": 31.48,
        "max_drawdown_pct": 3.996,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "05-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": -483.78,
        "return_pct": -4.838,
        "profit_factor": 0.219,
        "win_rate_pct": 20.83,
        "max_drawdown_pct": 5.048,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 24,
        "net_usd": -507.71,
        "return_pct": -5.077,
        "profit_factor": 0.2001,
        "win_rate_pct": 20.83,
        "max_drawdown_pct": 5.252,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 21,
        "net_usd": -262.29,
        "return_pct": -2.623,
        "profit_factor": 0.4291,
        "win_rate_pct": 19.05,
        "max_drawdown_pct": 4.163,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "05-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 21,
        "net_usd": -285.08,
        "return_pct": -2.851,
        "profit_factor": 0.3976,
        "win_rate_pct": 19.05,
        "max_drawdown_pct": 4.196,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "05-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 45,
        "net_usd": -717.36,
        "return_pct": -7.174,
        "profit_factor": 0.3169,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 8.463,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "05-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 45,
        "net_usd": -754.7,
        "return_pct": -7.547,
        "profit_factor": 0.2943,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 8.714,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "05-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": 117.19,
        "return_pct": 1.172,
        "profit_factor": 1.3238,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 1.535,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-USDCAD-2025-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 24,
        "net_usd": 44.42,
        "return_pct": 0.444,
        "profit_factor": 1.114,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 1.706,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-USDCAD-2025-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 32,
        "net_usd": 138.86,
        "return_pct": 1.389,
        "profit_factor": 1.257,
        "win_rate_pct": 46.88,
        "max_drawdown_pct": 2.638,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-USDCAD-2026-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 32,
        "net_usd": -34.16,
        "return_pct": -0.342,
        "profit_factor": 0.941,
        "win_rate_pct": 43.75,
        "max_drawdown_pct": 3.275,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-USDCAD-2026-stress.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 56,
        "net_usd": 257.34,
        "return_pct": 2.573,
        "profit_factor": 1.2819,
        "win_rate_pct": 44.64,
        "max_drawdown_pct": 2.683,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-USDCAD-combined-base.json.gz"
    },
    {
      "strategy_id": 5,
      "title": "ADX/DMI Trend Continuation",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 56,
        "net_usd": 4.08,
        "return_pct": 0.041,
        "profit_factor": 1.0042,
        "win_rate_pct": 41.07,
        "max_drawdown_pct": 3.262,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "05-USDCAD-combined-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 23,
        "net_usd": -449.33,
        "return_pct": -4.493,
        "profit_factor": 0.4293,
        "win_rate_pct": 13.04,
        "max_drawdown_pct": 6.237,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "06-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 23,
        "net_usd": -505.41,
        "return_pct": -5.054,
        "profit_factor": 0.3723,
        "win_rate_pct": 13.04,
        "max_drawdown_pct": 6.607,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "06-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 18,
        "net_usd": -365.01,
        "return_pct": -3.65,
        "profit_factor": 0.6063,
        "win_rate_pct": 16.67,
        "max_drawdown_pct": 6.494,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "06-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 18,
        "net_usd": -398.86,
        "return_pct": -3.989,
        "profit_factor": 0.5555,
        "win_rate_pct": 16.67,
        "max_drawdown_pct": 6.47,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "06-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 41,
        "net_usd": -798.06,
        "return_pct": -7.981,
        "profit_factor": 0.522,
        "win_rate_pct": 14.63,
        "max_drawdown_pct": 8.168,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "06-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 41,
        "net_usd": -873.19,
        "return_pct": -8.732,
        "profit_factor": 0.4736,
        "win_rate_pct": 14.63,
        "max_drawdown_pct": 8.89,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "06-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 30,
        "net_usd": -626.23,
        "return_pct": -6.262,
        "profit_factor": 0.3417,
        "win_rate_pct": 30.0,
        "max_drawdown_pct": 6.567,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "06-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 29,
        "net_usd": -655.75,
        "return_pct": -6.557,
        "profit_factor": 0.2934,
        "win_rate_pct": 27.59,
        "max_drawdown_pct": 6.729,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "06-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 10,
        "net_usd": 60.06,
        "return_pct": 0.601,
        "profit_factor": 1.2029,
        "win_rate_pct": 30.0,
        "max_drawdown_pct": 2.617,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "06-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 10,
        "net_usd": 27.89,
        "return_pct": 0.279,
        "profit_factor": 1.0932,
        "win_rate_pct": 30.0,
        "max_drawdown_pct": 2.6,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "06-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 40,
        "net_usd": -567.07,
        "return_pct": -5.671,
        "profit_factor": 0.5386,
        "win_rate_pct": 30.0,
        "max_drawdown_pct": 6.567,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "06-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 39,
        "net_usd": -625.8,
        "return_pct": -6.258,
        "profit_factor": 0.4836,
        "win_rate_pct": 28.21,
        "max_drawdown_pct": 6.811,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "06-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 29,
        "net_usd": 818.03,
        "return_pct": 8.18,
        "profit_factor": 2.0933,
        "win_rate_pct": 37.93,
        "max_drawdown_pct": 4.013,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "06-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 29,
        "net_usd": 685.39,
        "return_pct": 6.854,
        "profit_factor": 1.9013,
        "win_rate_pct": 37.93,
        "max_drawdown_pct": 4.119,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "06-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 19,
        "net_usd": 201.32,
        "return_pct": 2.013,
        "profit_factor": 1.4116,
        "win_rate_pct": 47.37,
        "max_drawdown_pct": 3.157,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "06-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 19,
        "net_usd": 50.66,
        "return_pct": 0.507,
        "profit_factor": 1.1037,
        "win_rate_pct": 47.37,
        "max_drawdown_pct": 3.019,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "06-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 48,
        "net_usd": 1035.29,
        "return_pct": 10.353,
        "profit_factor": 1.8094,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 4.013,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "06-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 48,
        "net_usd": 735.29,
        "return_pct": 7.353,
        "profit_factor": 1.5712,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 4.119,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "06-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 32,
        "net_usd": -508.66,
        "return_pct": -5.087,
        "profit_factor": 0.5007,
        "win_rate_pct": 28.12,
        "max_drawdown_pct": 6.135,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "06-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 32,
        "net_usd": -596.36,
        "return_pct": -5.964,
        "profit_factor": 0.4208,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 6.741,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "06-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 18,
        "net_usd": -86.32,
        "return_pct": -0.863,
        "profit_factor": 0.8486,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 3.689,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "06-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 18,
        "net_usd": -157.73,
        "return_pct": -1.577,
        "profit_factor": 0.722,
        "win_rate_pct": 27.78,
        "max_drawdown_pct": 3.714,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "06-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 50,
        "net_usd": -582.01,
        "return_pct": -5.82,
        "profit_factor": 0.6254,
        "win_rate_pct": 30.0,
        "max_drawdown_pct": 7.679,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "06-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 6,
      "title": "MACD Signal Crossover with EMA Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 50,
        "net_usd": -751.76,
        "return_pct": -7.518,
        "profit_factor": 0.5204,
        "win_rate_pct": 26.0,
        "max_drawdown_pct": 8.666,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "06-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 13,
        "net_usd": 43.21,
        "return_pct": 0.432,
        "profit_factor": 1.2879,
        "win_rate_pct": 38.46,
        "max_drawdown_pct": 1.051,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 73
      },
      "trade_log": "07-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 13,
        "net_usd": 23.78,
        "return_pct": 0.238,
        "profit_factor": 1.1488,
        "win_rate_pct": 38.46,
        "max_drawdown_pct": 1.068,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 73
      },
      "trade_log": "07-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": -85.53,
        "return_pct": -0.855,
        "profit_factor": 0.2472,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 1.399,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 75
      },
      "trade_log": "07-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -99.17,
        "return_pct": -0.992,
        "profit_factor": 0.1765,
        "win_rate_pct": 27.27,
        "max_drawdown_pct": 1.445,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 75
      },
      "trade_log": "07-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": -62.01,
        "return_pct": -0.62,
        "profit_factor": 0.7789,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.039,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 147
      },
      "trade_log": "07-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 24,
        "net_usd": -96.91,
        "return_pct": -0.969,
        "profit_factor": 0.6767,
        "win_rate_pct": 29.17,
        "max_drawdown_pct": 2.226,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 147
      },
      "trade_log": "07-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1.5,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 25,
        "net_usd": -40.87,
        "return_pct": -0.409,
        "profit_factor": 0.8628,
        "win_rate_pct": 24.0,
        "max_drawdown_pct": 1.428,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 76
      },
      "trade_log": "07-EURJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 3.0,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 25,
        "net_usd": -66.26,
        "return_pct": -0.663,
        "profit_factor": 0.7855,
        "win_rate_pct": 24.0,
        "max_drawdown_pct": 1.534,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 76
      },
      "trade_log": "07-EURJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1.5,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": 17.94,
        "return_pct": 0.179,
        "profit_factor": 1.1434,
        "win_rate_pct": 18.18,
        "max_drawdown_pct": 1.278,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 47
      },
      "trade_log": "07-EURJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 3.0,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -1.02,
        "return_pct": -0.01,
        "profit_factor": 0.9927,
        "win_rate_pct": 18.18,
        "max_drawdown_pct": 1.346,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 47
      },
      "trade_log": "07-EURJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1.5,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 36,
        "net_usd": -22.94,
        "return_pct": -0.229,
        "profit_factor": 0.9458,
        "win_rate_pct": 22.22,
        "max_drawdown_pct": 1.428,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 123
      },
      "trade_log": "07-EURJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 3.0,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 36,
        "net_usd": -62.47,
        "return_pct": -0.625,
        "profit_factor": 0.8589,
        "win_rate_pct": 22.22,
        "max_drawdown_pct": 1.534,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 123
      },
      "trade_log": "07-EURJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "GBPJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 14,
        "net_usd": -90.56,
        "return_pct": -0.906,
        "profit_factor": 0.5817,
        "win_rate_pct": 21.43,
        "max_drawdown_pct": 1.942,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 72
      },
      "trade_log": "07-GBPJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "GBPJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 14,
        "net_usd": -104.56,
        "return_pct": -1.046,
        "profit_factor": 0.5352,
        "win_rate_pct": 21.43,
        "max_drawdown_pct": 2.011,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 72
      },
      "trade_log": "07-GBPJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "GBPJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 9,
        "net_usd": -42.73,
        "return_pct": -0.427,
        "profit_factor": 0.6113,
        "win_rate_pct": 22.22,
        "max_drawdown_pct": 1.101,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 50
      },
      "trade_log": "07-GBPJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "GBPJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 9,
        "net_usd": -52.15,
        "return_pct": -0.522,
        "profit_factor": 0.5458,
        "win_rate_pct": 22.22,
        "max_drawdown_pct": 1.146,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 50
      },
      "trade_log": "07-GBPJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "GBPJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 23,
        "net_usd": -127.34,
        "return_pct": -1.273,
        "profit_factor": 0.6027,
        "win_rate_pct": 21.74,
        "max_drawdown_pct": 2.48,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 122
      },
      "trade_log": "07-GBPJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "GBPJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 23,
        "net_usd": -156.71,
        "return_pct": -1.567,
        "profit_factor": 0.5388,
        "win_rate_pct": 21.74,
        "max_drawdown_pct": 2.668,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 122
      },
      "trade_log": "07-GBPJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 18,
        "net_usd": 278.29,
        "return_pct": 2.783,
        "profit_factor": 2.7053,
        "win_rate_pct": 38.89,
        "max_drawdown_pct": 1.519,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 53
      },
      "trade_log": "07-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 18,
        "net_usd": 241.32,
        "return_pct": 2.413,
        "profit_factor": 2.3951,
        "win_rate_pct": 38.89,
        "max_drawdown_pct": 1.569,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 53
      },
      "trade_log": "07-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 9,
        "net_usd": -31.63,
        "return_pct": -0.316,
        "profit_factor": 0.7937,
        "win_rate_pct": 11.11,
        "max_drawdown_pct": 2.121,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 45
      },
      "trade_log": "07-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 9,
        "net_usd": -51.48,
        "return_pct": -0.515,
        "profit_factor": 0.6928,
        "win_rate_pct": 11.11,
        "max_drawdown_pct": 2.234,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 45
      },
      "trade_log": "07-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 27,
        "net_usd": 257.9,
        "return_pct": 2.579,
        "profit_factor": 1.8091,
        "win_rate_pct": 29.63,
        "max_drawdown_pct": 2.712,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 98
      },
      "trade_log": "07-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 7,
      "title": "Ichimoku Cloud Trend Break",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 27,
        "net_usd": 200.15,
        "return_pct": 2.002,
        "profit_factor": 1.5833,
        "win_rate_pct": 29.63,
        "max_drawdown_pct": 3.045,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 98
      },
      "trade_log": "07-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": 143.76,
        "return_pct": 1.438,
        "profit_factor": 1.5675,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 2.077,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "08-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 24,
        "net_usd": 84.13,
        "return_pct": 0.841,
        "profit_factor": 1.2961,
        "win_rate_pct": 45.83,
        "max_drawdown_pct": 2.192,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "08-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 16,
        "net_usd": -92.68,
        "return_pct": -0.927,
        "profit_factor": 0.6546,
        "win_rate_pct": 31.25,
        "max_drawdown_pct": 2.755,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "08-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 16,
        "net_usd": -123.52,
        "return_pct": -1.235,
        "profit_factor": 0.5677,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 2.944,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "08-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 40,
        "net_usd": 44.8,
        "return_pct": 0.448,
        "profit_factor": 1.0849,
        "win_rate_pct": 42.5,
        "max_drawdown_pct": 3.096,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "08-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 40,
        "net_usd": -43.47,
        "return_pct": -0.435,
        "profit_factor": 0.9243,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 3.606,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "08-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 19,
        "net_usd": 253.35,
        "return_pct": 2.534,
        "profit_factor": 2.3421,
        "win_rate_pct": 52.63,
        "max_drawdown_pct": 1.363,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "08-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 19,
        "net_usd": 228.13,
        "return_pct": 2.281,
        "profit_factor": 2.2459,
        "win_rate_pct": 52.63,
        "max_drawdown_pct": 1.321,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "08-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 13,
        "net_usd": 61.79,
        "return_pct": 0.618,
        "profit_factor": 1.3402,
        "win_rate_pct": 30.77,
        "max_drawdown_pct": 1.351,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "08-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 13,
        "net_usd": 49.57,
        "return_pct": 0.496,
        "profit_factor": 1.2692,
        "win_rate_pct": 30.77,
        "max_drawdown_pct": 1.375,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "08-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 32,
        "net_usd": 311.34,
        "return_pct": 3.113,
        "profit_factor": 1.832,
        "win_rate_pct": 43.75,
        "max_drawdown_pct": 1.363,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "08-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 32,
        "net_usd": 270.14,
        "return_pct": 2.701,
        "profit_factor": 1.7207,
        "win_rate_pct": 43.75,
        "max_drawdown_pct": 1.418,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "08-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 26,
        "net_usd": -44.78,
        "return_pct": -0.448,
        "profit_factor": 0.8667,
        "win_rate_pct": 46.15,
        "max_drawdown_pct": 1.834,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "08-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 26,
        "net_usd": -89.73,
        "return_pct": -0.897,
        "profit_factor": 0.7392,
        "win_rate_pct": 46.15,
        "max_drawdown_pct": 1.875,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "08-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 13,
        "net_usd": 185.2,
        "return_pct": 1.852,
        "profit_factor": 1.8525,
        "win_rate_pct": 38.46,
        "max_drawdown_pct": 1.371,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "08-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 13,
        "net_usd": 142.64,
        "return_pct": 1.426,
        "profit_factor": 1.5936,
        "win_rate_pct": 38.46,
        "max_drawdown_pct": 1.381,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "08-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 39,
        "net_usd": 140.42,
        "return_pct": 1.404,
        "profit_factor": 1.2538,
        "win_rate_pct": 43.59,
        "max_drawdown_pct": 1.834,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "08-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 39,
        "net_usd": 52.91,
        "return_pct": 0.529,
        "profit_factor": 1.0905,
        "win_rate_pct": 43.59,
        "max_drawdown_pct": 1.97,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "08-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": 36.61,
        "return_pct": 0.366,
        "profit_factor": 1.1221,
        "win_rate_pct": 58.33,
        "max_drawdown_pct": 2.172,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "08-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 24,
        "net_usd": -93.0,
        "return_pct": -0.93,
        "profit_factor": 0.733,
        "win_rate_pct": 54.17,
        "max_drawdown_pct": 2.546,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "08-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 18,
        "net_usd": -47.53,
        "return_pct": -0.475,
        "profit_factor": 0.8601,
        "win_rate_pct": 44.44,
        "max_drawdown_pct": 2.546,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "08-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 18,
        "net_usd": -85.84,
        "return_pct": -0.858,
        "profit_factor": 0.7513,
        "win_rate_pct": 44.44,
        "max_drawdown_pct": 2.648,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "08-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 42,
        "net_usd": -10.91,
        "return_pct": -0.109,
        "profit_factor": 0.9829,
        "win_rate_pct": 52.38,
        "max_drawdown_pct": 2.537,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "08-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 8,
      "title": "ATR Supertrend Continuation",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 42,
        "net_usd": -189.2,
        "return_pct": -1.892,
        "profit_factor": 0.7272,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 2.676,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "08-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 12,
        "net_usd": -120.51,
        "return_pct": -1.205,
        "profit_factor": 0.4302,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 2.228,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "09-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 12,
        "net_usd": -135.83,
        "return_pct": -1.358,
        "profit_factor": 0.3635,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 2.285,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "09-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 9,
        "net_usd": -114.58,
        "return_pct": -1.146,
        "profit_factor": 0.3556,
        "win_rate_pct": 11.11,
        "max_drawdown_pct": 2.167,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 10
      },
      "trade_log": "09-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 9,
        "net_usd": -131.74,
        "return_pct": -1.317,
        "profit_factor": 0.3011,
        "win_rate_pct": 11.11,
        "max_drawdown_pct": 2.272,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 10
      },
      "trade_log": "09-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 21,
        "net_usd": -233.68,
        "return_pct": -2.337,
        "profit_factor": 0.3976,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 4.122,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 17
      },
      "trade_log": "09-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 21,
        "net_usd": -265.3,
        "return_pct": -2.653,
        "profit_factor": 0.3361,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 4.321,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 17
      },
      "trade_log": "09-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T08:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 14,
        "net_usd": -215.73,
        "return_pct": -2.157,
        "profit_factor": 0.2725,
        "win_rate_pct": 14.29,
        "max_drawdown_pct": 2.632,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "09-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T08:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 14,
        "net_usd": -230.83,
        "return_pct": -2.308,
        "profit_factor": 0.248,
        "win_rate_pct": 14.29,
        "max_drawdown_pct": 2.75,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "09-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": -141.25,
        "return_pct": -1.412,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.488,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "09-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -144.57,
        "return_pct": -1.446,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.506,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "09-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T08:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 19,
        "net_usd": -363.36,
        "return_pct": -3.634,
        "profit_factor": 0.1819,
        "win_rate_pct": 10.53,
        "max_drawdown_pct": 4.038,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 16
      },
      "trade_log": "09-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T08:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 19,
        "net_usd": -374.56,
        "return_pct": -3.746,
        "profit_factor": 0.1689,
        "win_rate_pct": 10.53,
        "max_drawdown_pct": 4.119,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 16
      },
      "trade_log": "09-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T08:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 8,
        "net_usd": -213.87,
        "return_pct": -2.139,
        "profit_factor": 0.1389,
        "win_rate_pct": 12.5,
        "max_drawdown_pct": 2.635,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "09-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T08:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 8,
        "net_usd": -217.79,
        "return_pct": -2.178,
        "profit_factor": 0.1332,
        "win_rate_pct": 12.5,
        "max_drawdown_pct": 2.664,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "09-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 3,
        "net_usd": 155.89,
        "return_pct": 1.559,
        "profit_factor": 3.4136,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 0.992,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "09-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 3,
        "net_usd": 149.55,
        "return_pct": 1.496,
        "profit_factor": 3.1947,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 0.992,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "09-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T08:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": -57.98,
        "return_pct": -0.58,
        "profit_factor": 0.8147,
        "win_rate_pct": 18.18,
        "max_drawdown_pct": 2.823,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "09-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T08:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -68.24,
        "return_pct": -0.682,
        "profit_factor": 0.7863,
        "win_rate_pct": 18.18,
        "max_drawdown_pct": 2.859,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "09-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 16,
        "net_usd": -28.35,
        "return_pct": -0.284,
        "profit_factor": 0.8595,
        "win_rate_pct": 43.75,
        "max_drawdown_pct": 1.589,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "09-USDCHF-2025-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 16,
        "net_usd": -83.46,
        "return_pct": -0.835,
        "profit_factor": 0.6138,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 2.063,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "09-USDCHF-2025-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": 45.71,
        "return_pct": 0.457,
        "profit_factor": 1.6789,
        "win_rate_pct": 57.14,
        "max_drawdown_pct": 0.963,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "09-USDCHF-2026-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 6,
        "net_usd": 31.05,
        "return_pct": 0.31,
        "profit_factor": 1.4918,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.966,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "09-USDCHF-2026-stress.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 23,
        "net_usd": 17.36,
        "return_pct": 0.174,
        "profit_factor": 1.0645,
        "win_rate_pct": 47.83,
        "max_drawdown_pct": 1.752,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 13
      },
      "trade_log": "09-USDCHF-combined-base.json.gz"
    },
    {
      "strategy_id": 9,
      "title": "Parabolic SAR with ADX Filter",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 22,
        "net_usd": -52.42,
        "return_pct": -0.524,
        "profit_factor": 0.8123,
        "win_rate_pct": 40.91,
        "max_drawdown_pct": 2.248,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 14
      },
      "trade_log": "09-USDCHF-combined-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 43,
        "net_usd": -515.17,
        "return_pct": -5.152,
        "profit_factor": 0.5464,
        "win_rate_pct": 23.26,
        "max_drawdown_pct": 5.659,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 43,
        "net_usd": -579.21,
        "return_pct": -5.792,
        "profit_factor": 0.5026,
        "win_rate_pct": 23.26,
        "max_drawdown_pct": 6.159,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": 67.23,
        "return_pct": 0.672,
        "profit_factor": 1.1338,
        "win_rate_pct": 45.83,
        "max_drawdown_pct": 3.669,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 24,
        "net_usd": 5.16,
        "return_pct": 0.052,
        "profit_factor": 1.0099,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 3.977,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 67,
        "net_usd": -448.01,
        "return_pct": -4.48,
        "profit_factor": 0.7204,
        "win_rate_pct": 31.34,
        "max_drawdown_pct": 7.288,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 67,
        "net_usd": -562.92,
        "return_pct": -5.629,
        "profit_factor": 0.6567,
        "win_rate_pct": 29.85,
        "max_drawdown_pct": 8.176,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 40,
        "net_usd": 118.06,
        "return_pct": 1.181,
        "profit_factor": 1.1517,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 3.739,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 40,
        "net_usd": -14.14,
        "return_pct": -0.141,
        "profit_factor": 0.9834,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 3.965,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 27,
        "net_usd": -176.75,
        "return_pct": -1.768,
        "profit_factor": 0.6779,
        "win_rate_pct": 37.04,
        "max_drawdown_pct": 3.694,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 27,
        "net_usd": -240.01,
        "return_pct": -2.4,
        "profit_factor": 0.5763,
        "win_rate_pct": 37.04,
        "max_drawdown_pct": 4.191,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 67,
        "net_usd": -57.21,
        "return_pct": -0.572,
        "profit_factor": 0.957,
        "win_rate_pct": 38.81,
        "max_drawdown_pct": 5.958,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 67,
        "net_usd": -254.16,
        "return_pct": -2.542,
        "profit_factor": 0.8205,
        "win_rate_pct": 37.31,
        "max_drawdown_pct": 6.708,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 40,
        "net_usd": -832.42,
        "return_pct": -8.324,
        "profit_factor": 0.282,
        "win_rate_pct": 22.5,
        "max_drawdown_pct": 9.599,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 40,
        "net_usd": -913.8,
        "return_pct": -9.138,
        "profit_factor": 0.2407,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 10.295,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 22,
        "net_usd": -30.83,
        "return_pct": -0.308,
        "profit_factor": 0.9343,
        "win_rate_pct": 31.82,
        "max_drawdown_pct": 4.698,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 22,
        "net_usd": -95.32,
        "return_pct": -0.953,
        "profit_factor": 0.8088,
        "win_rate_pct": 31.82,
        "max_drawdown_pct": 5.152,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 62,
        "net_usd": -859.19,
        "return_pct": -8.592,
        "profit_factor": 0.4594,
        "win_rate_pct": 25.81,
        "max_drawdown_pct": 9.733,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 62,
        "net_usd": -994.33,
        "return_pct": -9.943,
        "profit_factor": 0.3992,
        "win_rate_pct": 24.19,
        "max_drawdown_pct": 11.023,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 29,
        "net_usd": -17.01,
        "return_pct": -0.17,
        "profit_factor": 0.9643,
        "win_rate_pct": 37.93,
        "max_drawdown_pct": 2.621,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-USDCAD-2025-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 29,
        "net_usd": -160.01,
        "return_pct": -1.6,
        "profit_factor": 0.7115,
        "win_rate_pct": 37.93,
        "max_drawdown_pct": 3.343,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-USDCAD-2025-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 34,
        "net_usd": -0.25,
        "return_pct": -0.003,
        "profit_factor": 0.9996,
        "win_rate_pct": 32.35,
        "max_drawdown_pct": 3.896,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-USDCAD-2026-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 34,
        "net_usd": -139.63,
        "return_pct": -1.396,
        "profit_factor": 0.8114,
        "win_rate_pct": 29.41,
        "max_drawdown_pct": 4.929,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-USDCAD-2026-stress.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 63,
        "net_usd": -15.63,
        "return_pct": -0.156,
        "profit_factor": 0.9865,
        "win_rate_pct": 34.92,
        "max_drawdown_pct": 3.902,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-USDCAD-combined-base.json.gz"
    },
    {
      "strategy_id": 10,
      "title": "Keltner Channel Breakout",
      "symbol": "USDCAD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 63,
        "net_usd": -288.83,
        "return_pct": -2.888,
        "profit_factor": 0.7748,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 4.892,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "10-USDCAD-combined-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 4,
        "net_usd": -78.51,
        "return_pct": -0.785,
        "profit_factor": 0.304,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 1.51,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 4,
        "net_usd": -83.7,
        "return_pct": -0.837,
        "profit_factor": 0.2579,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 1.5,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": 53.7,
        "return_pct": 0.537,
        "profit_factor": 1.3708,
        "win_rate_pct": 42.86,
        "max_drawdown_pct": 1.256,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": -49.0,
        "return_pct": -0.49,
        "profit_factor": 0.7432,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 1.343,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": -28.46,
        "return_pct": -0.285,
        "profit_factor": 0.8895,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 1.51,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -132.7,
        "return_pct": -1.327,
        "profit_factor": 0.5629,
        "win_rate_pct": 27.27,
        "max_drawdown_pct": 1.959,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": -14.91,
        "return_pct": -0.149,
        "profit_factor": 0.9073,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 1.906,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": -13.26,
        "return_pct": -0.133,
        "profit_factor": 0.9168,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 1.886,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": 122.46,
        "return_pct": 1.225,
        "profit_factor": 2.7334,
        "win_rate_pct": 60.0,
        "max_drawdown_pct": 0.901,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": 116.84,
        "return_pct": 1.168,
        "profit_factor": 2.566,
        "win_rate_pct": 60.0,
        "max_drawdown_pct": 0.958,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 12,
        "net_usd": 107.55,
        "return_pct": 1.076,
        "profit_factor": 1.4646,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 1.906,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 12,
        "net_usd": 103.58,
        "return_pct": 1.036,
        "profit_factor": 1.4426,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 1.886,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 12,
        "net_usd": 57.34,
        "return_pct": 0.573,
        "profit_factor": 1.271,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 1.115,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 12,
        "net_usd": 48.9,
        "return_pct": 0.489,
        "profit_factor": 1.2262,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 1.127,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 4,
        "net_usd": 177.71,
        "return_pct": 1.777,
        "profit_factor": 5.517,
        "win_rate_pct": 75.0,
        "max_drawdown_pct": 0.664,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 4,
        "net_usd": 173.42,
        "return_pct": 1.734,
        "profit_factor": 5.4216,
        "win_rate_pct": 75.0,
        "max_drawdown_pct": 0.677,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 16,
        "net_usd": 235.04,
        "return_pct": 2.35,
        "profit_factor": 1.9368,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 1.115,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 16,
        "net_usd": 222.32,
        "return_pct": 2.223,
        "profit_factor": 1.8705,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 1.127,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 9,
        "net_usd": -231.59,
        "return_pct": -2.316,
        "profit_factor": 0.1643,
        "win_rate_pct": 11.11,
        "max_drawdown_pct": 2.562,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 9,
        "net_usd": -235.48,
        "return_pct": -2.355,
        "profit_factor": 0.1361,
        "win_rate_pct": 11.11,
        "max_drawdown_pct": 2.519,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": -75.6,
        "return_pct": -0.756,
        "profit_factor": 0.4879,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 0.977,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -77.81,
        "return_pct": -0.778,
        "profit_factor": 0.4822,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 1.014,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 14,
        "net_usd": -304.85,
        "return_pct": -3.049,
        "profit_factor": 0.2783,
        "win_rate_pct": 14.29,
        "max_drawdown_pct": 3.382,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 11,
      "title": "Bollinger Squeeze Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 14,
        "net_usd": -306.46,
        "return_pct": -3.065,
        "profit_factor": 0.2633,
        "win_rate_pct": 14.29,
        "max_drawdown_pct": 3.367,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "11-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 10,
        "net_usd": 138.35,
        "return_pct": 1.383,
        "profit_factor": 1.8988,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 1.009,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 10,
        "net_usd": 117.99,
        "return_pct": 1.18,
        "profit_factor": 1.6887,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 1.135,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 14,
        "net_usd": -99.73,
        "return_pct": -0.997,
        "profit_factor": 0.7162,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 2.474,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 15,
        "net_usd": -174.33,
        "return_pct": -1.743,
        "profit_factor": 0.5809,
        "win_rate_pct": 26.67,
        "max_drawdown_pct": 2.668,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": 35.86,
        "return_pct": 0.359,
        "profit_factor": 1.0706,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.468,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 25,
        "net_usd": -56.34,
        "return_pct": -0.563,
        "profit_factor": 0.9041,
        "win_rate_pct": 32.0,
        "max_drawdown_pct": 2.75,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 14,
        "net_usd": -18.66,
        "return_pct": -0.187,
        "profit_factor": 0.9424,
        "win_rate_pct": 35.71,
        "max_drawdown_pct": 2.057,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 14,
        "net_usd": -24.92,
        "return_pct": -0.249,
        "profit_factor": 0.9239,
        "win_rate_pct": 35.71,
        "max_drawdown_pct": 2.113,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 10,
        "net_usd": -24.76,
        "return_pct": -0.248,
        "profit_factor": 0.8982,
        "win_rate_pct": 30.0,
        "max_drawdown_pct": 2.002,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 10,
        "net_usd": -68.72,
        "return_pct": -0.687,
        "profit_factor": 0.7259,
        "win_rate_pct": 30.0,
        "max_drawdown_pct": 2.113,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": -43.42,
        "return_pct": -0.434,
        "profit_factor": 0.9234,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.057,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "GBPUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 24,
        "net_usd": -93.64,
        "return_pct": -0.936,
        "profit_factor": 0.8381,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.118,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 6,
        "net_usd": 216.1,
        "return_pct": 2.161,
        "profit_factor": 3.7496,
        "win_rate_pct": 66.67,
        "max_drawdown_pct": 0.689,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": 166.37,
        "return_pct": 1.664,
        "profit_factor": 2.4509,
        "win_rate_pct": 57.14,
        "max_drawdown_pct": 0.696,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": 50.87,
        "return_pct": 0.509,
        "profit_factor": 1.3189,
        "win_rate_pct": 42.86,
        "max_drawdown_pct": 1.245,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": 32.96,
        "return_pct": 0.33,
        "profit_factor": 1.1947,
        "win_rate_pct": 42.86,
        "max_drawdown_pct": 1.278,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 13,
        "net_usd": 279.68,
        "return_pct": 2.797,
        "profit_factor": 2.1457,
        "win_rate_pct": 53.85,
        "max_drawdown_pct": 1.221,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "USDJPY",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 14,
        "net_usd": 195.57,
        "return_pct": 1.956,
        "profit_factor": 1.6798,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 1.257,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 10,
        "net_usd": 19.02,
        "return_pct": 0.19,
        "profit_factor": 1.0808,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 1.86,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -43.04,
        "return_pct": -0.43,
        "profit_factor": 0.8481,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 2.256,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 9,
        "net_usd": 39.21,
        "return_pct": 0.392,
        "profit_factor": 1.206,
        "win_rate_pct": 44.44,
        "max_drawdown_pct": 2.125,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 10,
        "net_usd": -16.34,
        "return_pct": -0.163,
        "profit_factor": 0.9294,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 2.134,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 19,
        "net_usd": 58.23,
        "return_pct": 0.582,
        "profit_factor": 1.1368,
        "win_rate_pct": 42.11,
        "max_drawdown_pct": 2.121,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 12,
      "title": "NR7 Volatility Breakout",
      "symbol": "AUDUSD",
      "timeframe": "D1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 21,
        "net_usd": -59.38,
        "return_pct": -0.594,
        "profit_factor": 0.8846,
        "win_rate_pct": 38.1,
        "max_drawdown_pct": 2.982,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "12-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 189,
        "net_usd": -62.7,
        "return_pct": -0.627,
        "profit_factor": 0.9682,
        "win_rate_pct": 53.44,
        "max_drawdown_pct": 3.307,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "13-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 68,
        "net_usd": -340.38,
        "return_pct": -3.404,
        "profit_factor": 0.5824,
        "win_rate_pct": 41.18,
        "max_drawdown_pct": 3.98,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "13-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 107,
        "net_usd": -107.0,
        "return_pct": -1.07,
        "profit_factor": 0.9029,
        "win_rate_pct": 51.4,
        "max_drawdown_pct": 2.974,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 3
      },
      "trade_log": "13-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 15,
        "net_usd": 63.81,
        "return_pct": 0.638,
        "profit_factor": 1.6825,
        "win_rate_pct": 73.33,
        "max_drawdown_pct": 0.421,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "13-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 296,
        "net_usd": -170.04,
        "return_pct": -1.7,
        "profit_factor": 0.9446,
        "win_rate_pct": 52.7,
        "max_drawdown_pct": 4.389,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 4
      },
      "trade_log": "13-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 83,
        "net_usd": -271.67,
        "return_pct": -2.717,
        "profit_factor": 0.6994,
        "win_rate_pct": 46.99,
        "max_drawdown_pct": 4.092,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "13-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 212,
        "net_usd": -403.42,
        "return_pct": -4.034,
        "profit_factor": 0.8275,
        "win_rate_pct": 48.58,
        "max_drawdown_pct": 6.119,
        "ambiguous_execution_bars": 4,
        "rejected_entries": 0
      },
      "trade_log": "13-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 122,
        "net_usd": -95.61,
        "return_pct": -0.956,
        "profit_factor": 0.9216,
        "win_rate_pct": 49.18,
        "max_drawdown_pct": 2.452,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "13-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 149,
        "net_usd": -47.81,
        "return_pct": -0.478,
        "profit_factor": 0.9698,
        "win_rate_pct": 51.01,
        "max_drawdown_pct": 2.48,
        "ambiguous_execution_bars": 2,
        "rejected_entries": 1
      },
      "trade_log": "13-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 57,
        "net_usd": -84.91,
        "return_pct": -0.849,
        "profit_factor": 0.8497,
        "win_rate_pct": 49.12,
        "max_drawdown_pct": 1.517,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "13-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 361,
        "net_usd": -416.28,
        "return_pct": -4.163,
        "profit_factor": 0.8915,
        "win_rate_pct": 49.58,
        "max_drawdown_pct": 6.514,
        "ambiguous_execution_bars": 6,
        "rejected_entries": 1
      },
      "trade_log": "13-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 179,
        "net_usd": -163.36,
        "return_pct": -1.634,
        "profit_factor": 0.9076,
        "win_rate_pct": 49.16,
        "max_drawdown_pct": 3.166,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "13-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURGBP",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1.5,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 16,
        "net_usd": -67.05,
        "return_pct": -0.671,
        "profit_factor": 0.6212,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 1.192,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "13-EURGBP-2025-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURGBP",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 3.0,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": -16.84,
        "return_pct": -0.168,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.189,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "13-EURGBP-2025-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURGBP",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1.5,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": -19.47,
        "return_pct": -0.195,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.195,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "13-EURGBP-2026-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURGBP",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 3.0,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "13-EURGBP-2026-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURGBP",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1.5,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 17,
        "net_usd": -86.52,
        "return_pct": -0.865,
        "profit_factor": 0.5596,
        "win_rate_pct": 35.29,
        "max_drawdown_pct": 1.192,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "13-EURGBP-combined-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "EURGBP",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 3.0,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": -16.84,
        "return_pct": -0.168,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.189,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "13-EURGBP-combined-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPJPY",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 209,
        "net_usd": -195.59,
        "return_pct": -1.956,
        "profit_factor": 0.9101,
        "win_rate_pct": 47.85,
        "max_drawdown_pct": 5.222,
        "ambiguous_execution_bars": 4,
        "rejected_entries": 0
      },
      "trade_log": "13-GBPJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPJPY",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 92,
        "net_usd": -119.01,
        "return_pct": -1.19,
        "profit_factor": 0.8668,
        "win_rate_pct": 44.57,
        "max_drawdown_pct": 2.387,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "13-GBPJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPJPY",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 124,
        "net_usd": -242.2,
        "return_pct": -2.422,
        "profit_factor": 0.8242,
        "win_rate_pct": 44.35,
        "max_drawdown_pct": 3.833,
        "ambiguous_execution_bars": 2,
        "rejected_entries": 0
      },
      "trade_log": "13-GBPJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPJPY",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 33,
        "net_usd": -147.07,
        "return_pct": -1.471,
        "profit_factor": 0.579,
        "win_rate_pct": 39.39,
        "max_drawdown_pct": 2.023,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "13-GBPJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPJPY",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 333,
        "net_usd": -457.39,
        "return_pct": -4.574,
        "profit_factor": 0.8703,
        "win_rate_pct": 46.55,
        "max_drawdown_pct": 8.941,
        "ambiguous_execution_bars": 6,
        "rejected_entries": 0
      },
      "trade_log": "13-GBPJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 13,
      "title": "London Opening-Range Breakout",
      "symbol": "GBPJPY",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 125,
        "net_usd": -274.91,
        "return_pct": -2.749,
        "profit_factor": 0.7777,
        "win_rate_pct": 43.2,
        "max_drawdown_pct": 4.072,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "13-GBPJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 72,
        "net_usd": -506.19,
        "return_pct": -5.062,
        "profit_factor": 0.6467,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 6.193,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 10
      },
      "trade_log": "14-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 76,
        "net_usd": -691.1,
        "return_pct": -6.911,
        "profit_factor": 0.5538,
        "win_rate_pct": 32.89,
        "max_drawdown_pct": 7.921,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 12
      },
      "trade_log": "14-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 48,
        "net_usd": -181.98,
        "return_pct": -1.82,
        "profit_factor": 0.7983,
        "win_rate_pct": 43.75,
        "max_drawdown_pct": 4.326,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 6
      },
      "trade_log": "14-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 50,
        "net_usd": -381.99,
        "return_pct": -3.82,
        "profit_factor": 0.6334,
        "win_rate_pct": 36.0,
        "max_drawdown_pct": 5.357,
        "ambiguous_execution_bars": 2,
        "rejected_entries": 6
      },
      "trade_log": "14-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 120,
        "net_usd": -685.11,
        "return_pct": -6.851,
        "profit_factor": 0.7026,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 8.989,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 16
      },
      "trade_log": "14-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 126,
        "net_usd": -1045.52,
        "return_pct": -10.455,
        "profit_factor": 0.5833,
        "win_rate_pct": 34.13,
        "max_drawdown_pct": 12.36,
        "ambiguous_execution_bars": 2,
        "rejected_entries": 18
      },
      "trade_log": "14-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 73,
        "net_usd": -119.32,
        "return_pct": -1.193,
        "profit_factor": 0.9008,
        "win_rate_pct": 41.1,
        "max_drawdown_pct": 4.097,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "14-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 75,
        "net_usd": -222.12,
        "return_pct": -2.221,
        "profit_factor": 0.8249,
        "win_rate_pct": 38.67,
        "max_drawdown_pct": 4.833,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "14-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 46,
        "net_usd": -295.7,
        "return_pct": -2.957,
        "profit_factor": 0.6424,
        "win_rate_pct": 41.3,
        "max_drawdown_pct": 5.705,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "14-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 46,
        "net_usd": -503.18,
        "return_pct": -5.032,
        "profit_factor": 0.4301,
        "win_rate_pct": 36.96,
        "max_drawdown_pct": 5.879,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "14-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 119,
        "net_usd": -410.82,
        "return_pct": -4.108,
        "profit_factor": 0.7964,
        "win_rate_pct": 41.18,
        "max_drawdown_pct": 7.26,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 11
      },
      "trade_log": "14-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 121,
        "net_usd": -731.65,
        "return_pct": -7.316,
        "profit_factor": 0.6586,
        "win_rate_pct": 38.02,
        "max_drawdown_pct": 9.194,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 11
      },
      "trade_log": "14-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 62,
        "net_usd": 176.67,
        "return_pct": 1.767,
        "profit_factor": 1.1753,
        "win_rate_pct": 46.77,
        "max_drawdown_pct": 2.366,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "14-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 62,
        "net_usd": 121.39,
        "return_pct": 1.214,
        "profit_factor": 1.1194,
        "win_rate_pct": 46.77,
        "max_drawdown_pct": 2.331,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "14-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 47,
        "net_usd": -20.68,
        "return_pct": -0.207,
        "profit_factor": 0.9728,
        "win_rate_pct": 46.81,
        "max_drawdown_pct": 2.874,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "14-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 47,
        "net_usd": -49.64,
        "return_pct": -0.496,
        "profit_factor": 0.9329,
        "win_rate_pct": 48.94,
        "max_drawdown_pct": 3.028,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "14-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 109,
        "net_usd": 136.58,
        "return_pct": 1.366,
        "profit_factor": 1.076,
        "win_rate_pct": 46.79,
        "max_drawdown_pct": 2.899,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 12
      },
      "trade_log": "14-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 109,
        "net_usd": 80.59,
        "return_pct": 0.806,
        "profit_factor": 1.0457,
        "win_rate_pct": 47.71,
        "max_drawdown_pct": 2.992,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 12
      },
      "trade_log": "14-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 61,
        "net_usd": -652.84,
        "return_pct": -6.528,
        "profit_factor": 0.4631,
        "win_rate_pct": 34.43,
        "max_drawdown_pct": 7.289,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 12
      },
      "trade_log": "14-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 63,
        "net_usd": -823.64,
        "return_pct": -8.236,
        "profit_factor": 0.3859,
        "win_rate_pct": 30.16,
        "max_drawdown_pct": 8.914,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 12
      },
      "trade_log": "14-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 60,
        "net_usd": -189.26,
        "return_pct": -1.893,
        "profit_factor": 0.801,
        "win_rate_pct": 48.33,
        "max_drawdown_pct": 2.635,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 3
      },
      "trade_log": "14-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 60,
        "net_usd": -233.51,
        "return_pct": -2.335,
        "profit_factor": 0.7542,
        "win_rate_pct": 48.33,
        "max_drawdown_pct": 2.811,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 4
      },
      "trade_log": "14-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 121,
        "net_usd": -815.58,
        "return_pct": -8.156,
        "profit_factor": 0.6114,
        "win_rate_pct": 41.32,
        "max_drawdown_pct": 9.312,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 15
      },
      "trade_log": "14-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 14,
      "title": "Inside-Bar Breakout with Trend Filter",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 123,
        "net_usd": -1052.15,
        "return_pct": -10.521,
        "profit_factor": 0.5241,
        "win_rate_pct": 39.02,
        "max_drawdown_pct": 11.296,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 16
      },
      "trade_log": "14-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 39,
        "net_usd": -383.08,
        "return_pct": -3.831,
        "profit_factor": 0.632,
        "win_rate_pct": 20.51,
        "max_drawdown_pct": 4.54,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "15-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 39,
        "net_usd": -455.91,
        "return_pct": -4.559,
        "profit_factor": 0.5825,
        "win_rate_pct": 20.51,
        "max_drawdown_pct": 5.196,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "15-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 29,
        "net_usd": 215.97,
        "return_pct": 2.16,
        "profit_factor": 1.3768,
        "win_rate_pct": 31.03,
        "max_drawdown_pct": 1.43,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 28,
        "net_usd": 32.72,
        "return_pct": 0.327,
        "profit_factor": 1.0534,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 1.678,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "15-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 68,
        "net_usd": -172.63,
        "return_pct": -1.726,
        "profit_factor": 0.8917,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 4.953,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "15-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 67,
        "net_usd": -414.85,
        "return_pct": -4.149,
        "profit_factor": 0.7518,
        "win_rate_pct": 23.88,
        "max_drawdown_pct": 5.593,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "15-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 46,
        "net_usd": -513.73,
        "return_pct": -5.137,
        "profit_factor": 0.5201,
        "win_rate_pct": 15.22,
        "max_drawdown_pct": 5.931,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 46,
        "net_usd": -647.48,
        "return_pct": -6.475,
        "profit_factor": 0.4539,
        "win_rate_pct": 15.22,
        "max_drawdown_pct": 7.245,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 27,
        "net_usd": -384.84,
        "return_pct": -3.848,
        "profit_factor": 0.5029,
        "win_rate_pct": 18.52,
        "max_drawdown_pct": 4.327,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 27,
        "net_usd": -459.5,
        "return_pct": -4.595,
        "profit_factor": 0.4483,
        "win_rate_pct": 18.52,
        "max_drawdown_pct": 5.067,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 73,
        "net_usd": -883.02,
        "return_pct": -8.83,
        "profit_factor": 0.5108,
        "win_rate_pct": 16.44,
        "max_drawdown_pct": 10.019,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 73,
        "net_usd": -1069.14,
        "return_pct": -10.691,
        "profit_factor": 0.454,
        "win_rate_pct": 16.44,
        "max_drawdown_pct": 11.846,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 41,
        "net_usd": 84.94,
        "return_pct": 0.849,
        "profit_factor": 1.0956,
        "win_rate_pct": 26.83,
        "max_drawdown_pct": 3.131,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "15-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 41,
        "net_usd": 16.18,
        "return_pct": 0.162,
        "profit_factor": 1.0174,
        "win_rate_pct": 26.83,
        "max_drawdown_pct": 3.278,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "15-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 28,
        "net_usd": -120.17,
        "return_pct": -1.202,
        "profit_factor": 0.8212,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 5.729,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "15-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 28,
        "net_usd": -201.69,
        "return_pct": -2.017,
        "profit_factor": 0.7229,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 6.057,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "15-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 69,
        "net_usd": -39.53,
        "return_pct": -0.395,
        "profit_factor": 0.9747,
        "win_rate_pct": 27.54,
        "max_drawdown_pct": 5.725,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "15-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 69,
        "net_usd": -187.04,
        "return_pct": -1.87,
        "profit_factor": 0.8873,
        "win_rate_pct": 27.54,
        "max_drawdown_pct": 6.113,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "15-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 40,
        "net_usd": -175.5,
        "return_pct": -1.755,
        "profit_factor": 0.8178,
        "win_rate_pct": 22.5,
        "max_drawdown_pct": 3.175,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 40,
        "net_usd": -301.61,
        "return_pct": -3.016,
        "profit_factor": 0.7136,
        "win_rate_pct": 22.5,
        "max_drawdown_pct": 3.957,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 28,
        "net_usd": 98.38,
        "return_pct": 0.984,
        "profit_factor": 1.1535,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 3.009,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 28,
        "net_usd": 32.51,
        "return_pct": 0.325,
        "profit_factor": 1.0471,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 3.078,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 68,
        "net_usd": -67.7,
        "return_pct": -0.677,
        "profit_factor": 0.9574,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 3.175,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 15,
      "title": "Prior-Week High/Low Breakout",
      "symbol": "AUDUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 68,
        "net_usd": -276.68,
        "return_pct": -2.767,
        "profit_factor": 0.8394,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 3.957,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "15-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 72,
        "net_usd": 17.85,
        "return_pct": 0.178,
        "profit_factor": 1.0228,
        "win_rate_pct": 65.28,
        "max_drawdown_pct": 1.892,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 27
      },
      "trade_log": "16-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 43,
        "net_usd": 9.69,
        "return_pct": 0.097,
        "profit_factor": 1.0196,
        "win_rate_pct": 60.47,
        "max_drawdown_pct": 1.82,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 60
      },
      "trade_log": "16-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 39,
        "net_usd": -220.79,
        "return_pct": -2.208,
        "profit_factor": 0.6355,
        "win_rate_pct": 51.28,
        "max_drawdown_pct": 3.533,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 29
      },
      "trade_log": "16-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 31,
        "net_usd": -295.74,
        "return_pct": -2.957,
        "profit_factor": 0.4721,
        "win_rate_pct": 48.39,
        "max_drawdown_pct": 4.051,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 39
      },
      "trade_log": "16-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 111,
        "net_usd": -202.41,
        "return_pct": -2.024,
        "profit_factor": 0.8545,
        "win_rate_pct": 60.36,
        "max_drawdown_pct": 3.546,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 56
      },
      "trade_log": "16-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 74,
        "net_usd": -286.05,
        "return_pct": -2.86,
        "profit_factor": 0.7286,
        "win_rate_pct": 55.41,
        "max_drawdown_pct": 4.305,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 99
      },
      "trade_log": "16-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 81,
        "net_usd": 128.26,
        "return_pct": 1.283,
        "profit_factor": 1.1371,
        "win_rate_pct": 66.67,
        "max_drawdown_pct": 3.352,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 15
      },
      "trade_log": "16-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 46,
        "net_usd": -224.63,
        "return_pct": -2.246,
        "profit_factor": 0.7025,
        "win_rate_pct": 56.52,
        "max_drawdown_pct": 3.303,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 62
      },
      "trade_log": "16-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 57,
        "net_usd": -100.39,
        "return_pct": -1.004,
        "profit_factor": 0.8602,
        "win_rate_pct": 49.12,
        "max_drawdown_pct": 3.171,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 11
      },
      "trade_log": "16-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 36,
        "net_usd": -62.03,
        "return_pct": -0.62,
        "profit_factor": 0.8696,
        "win_rate_pct": 47.22,
        "max_drawdown_pct": 1.991,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 35
      },
      "trade_log": "16-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 138,
        "net_usd": 17.72,
        "return_pct": 0.177,
        "profit_factor": 1.0106,
        "win_rate_pct": 59.42,
        "max_drawdown_pct": 3.352,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 26
      },
      "trade_log": "16-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 82,
        "net_usd": -282.17,
        "return_pct": -2.822,
        "profit_factor": 0.7678,
        "win_rate_pct": 52.44,
        "max_drawdown_pct": 4.143,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 97
      },
      "trade_log": "16-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 65,
        "net_usd": -348.88,
        "return_pct": -3.489,
        "profit_factor": 0.6167,
        "win_rate_pct": 55.38,
        "max_drawdown_pct": 4.386,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 7
      },
      "trade_log": "16-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 42,
        "net_usd": -423.33,
        "return_pct": -4.233,
        "profit_factor": 0.4306,
        "win_rate_pct": 47.62,
        "max_drawdown_pct": 4.314,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 32
      },
      "trade_log": "16-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 52,
        "net_usd": -115.05,
        "return_pct": -1.15,
        "profit_factor": 0.8337,
        "win_rate_pct": 59.62,
        "max_drawdown_pct": 3.077,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "16-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 38,
        "net_usd": -238.85,
        "return_pct": -2.388,
        "profit_factor": 0.5861,
        "win_rate_pct": 57.89,
        "max_drawdown_pct": 4.243,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 20
      },
      "trade_log": "16-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 117,
        "net_usd": -455.85,
        "return_pct": -4.559,
        "profit_factor": 0.7102,
        "win_rate_pct": 57.26,
        "max_drawdown_pct": 6.039,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 12
      },
      "trade_log": "16-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 16,
      "title": "Bollinger-Band Range Mean Reversion",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 80,
        "net_usd": -658.56,
        "return_pct": -6.586,
        "profit_factor": 0.4933,
        "win_rate_pct": 52.5,
        "max_drawdown_pct": 7.518,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 52
      },
      "trade_log": "16-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 19,
        "net_usd": -105.75,
        "return_pct": -1.057,
        "profit_factor": 0.6319,
        "win_rate_pct": 52.63,
        "max_drawdown_pct": 1.492,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 19,
        "net_usd": -140.92,
        "return_pct": -1.409,
        "profit_factor": 0.5288,
        "win_rate_pct": 52.63,
        "max_drawdown_pct": 1.83,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": -156.82,
        "return_pct": -1.568,
        "profit_factor": 0.3258,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 1.879,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -171.89,
        "return_pct": -1.719,
        "profit_factor": 0.2826,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 2.028,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 30,
        "net_usd": -263.12,
        "return_pct": -2.631,
        "profit_factor": 0.4914,
        "win_rate_pct": 46.67,
        "max_drawdown_pct": 2.997,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 30,
        "net_usd": -319.7,
        "return_pct": -3.197,
        "profit_factor": 0.4065,
        "win_rate_pct": 46.67,
        "max_drawdown_pct": 3.55,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 13,
        "net_usd": -189.46,
        "return_pct": -1.895,
        "profit_factor": 0.3212,
        "win_rate_pct": 38.46,
        "max_drawdown_pct": 1.895,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 13,
        "net_usd": -204.54,
        "return_pct": -2.045,
        "profit_factor": 0.2851,
        "win_rate_pct": 38.46,
        "max_drawdown_pct": 2.045,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": -112.75,
        "return_pct": -1.128,
        "profit_factor": 0.5333,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 1.9,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -141.37,
        "return_pct": -1.414,
        "profit_factor": 0.4598,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 1.944,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": -304.55,
        "return_pct": -3.045,
        "profit_factor": 0.4152,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 3.383,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 24,
        "net_usd": -341.01,
        "return_pct": -3.41,
        "profit_factor": 0.3719,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 3.557,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 14,
        "net_usd": -40.28,
        "return_pct": -0.403,
        "profit_factor": 0.7639,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 1.165,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 14,
        "net_usd": -150.56,
        "return_pct": -1.506,
        "profit_factor": 0.3548,
        "win_rate_pct": 35.71,
        "max_drawdown_pct": 2.066,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 13,
        "net_usd": 93.18,
        "return_pct": 0.932,
        "profit_factor": 1.6355,
        "win_rate_pct": 76.92,
        "max_drawdown_pct": 0.833,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 13,
        "net_usd": 59.37,
        "return_pct": 0.594,
        "profit_factor": 1.4089,
        "win_rate_pct": 76.92,
        "max_drawdown_pct": 0.871,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 27,
        "net_usd": 91.61,
        "return_pct": 0.916,
        "profit_factor": 1.2902,
        "win_rate_pct": 66.67,
        "max_drawdown_pct": 1.165,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 17,
      "title": "RSI(2) Trend Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 27,
        "net_usd": -61.4,
        "return_pct": -0.614,
        "profit_factor": 0.836,
        "win_rate_pct": 59.26,
        "max_drawdown_pct": 2.066,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "17-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": 5.92,
        "return_pct": 0.059,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.41,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": 3.45,
        "return_pct": 0.035,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.384,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": 5.92,
        "return_pct": 0.059,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.41,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": 3.45,
        "return_pct": 0.035,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.384,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "USDCHF",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": -36.66,
        "return_pct": -0.367,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.381,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-USDCHF-2025-base.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "USDCHF",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": -37.16,
        "return_pct": -0.372,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.372,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-USDCHF-2025-stress.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "USDCHF",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-USDCHF-2026-base.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "USDCHF",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-USDCHF-2026-stress.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "USDCHF",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": -36.66,
        "return_pct": -0.367,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.381,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-USDCHF-combined-base.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "USDCHF",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": -37.16,
        "return_pct": -0.372,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.372,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-USDCHF-combined-stress.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "AUDNZD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-20T13:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": 34.47,
        "return_pct": 0.345,
        "profit_factor": 1.5628,
        "win_rate_pct": 71.43,
        "max_drawdown_pct": 0.575,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-AUDNZD-2025-base.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "AUDNZD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-20T13:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": 8.41,
        "return_pct": 0.084,
        "profit_factor": 1.1285,
        "win_rate_pct": 71.43,
        "max_drawdown_pct": 0.677,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-AUDNZD-2025-stress.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "AUDNZD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 9,
        "net_usd": 83.63,
        "return_pct": 0.836,
        "profit_factor": 2.0476,
        "win_rate_pct": 77.78,
        "max_drawdown_pct": 0.79,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-AUDNZD-2026-base.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "AUDNZD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 9,
        "net_usd": 24.52,
        "return_pct": 0.245,
        "profit_factor": 1.3108,
        "win_rate_pct": 66.67,
        "max_drawdown_pct": 1.126,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-AUDNZD-2026-stress.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "AUDNZD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-20T13:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 16,
        "net_usd": 119.35,
        "return_pct": 1.194,
        "profit_factor": 1.846,
        "win_rate_pct": 75.0,
        "max_drawdown_pct": 0.787,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-AUDNZD-combined-base.json.gz"
    },
    {
      "strategy_id": 18,
      "title": "RSI(14) Range Reversal",
      "symbol": "AUDNZD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-20T13:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 16,
        "net_usd": 35.22,
        "return_pct": 0.352,
        "profit_factor": 1.244,
        "win_rate_pct": 68.75,
        "max_drawdown_pct": 1.125,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "18-AUDNZD-combined-stress.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 44,
        "net_usd": -309.09,
        "return_pct": -3.091,
        "profit_factor": 0.5818,
        "win_rate_pct": 38.64,
        "max_drawdown_pct": 3.408,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 44,
        "net_usd": -418.27,
        "return_pct": -4.183,
        "profit_factor": 0.4486,
        "win_rate_pct": 38.64,
        "max_drawdown_pct": 4.481,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 27,
        "net_usd": -277.75,
        "return_pct": -2.778,
        "profit_factor": 0.4209,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 4.022,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 27,
        "net_usd": -312.45,
        "return_pct": -3.124,
        "profit_factor": 0.368,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 4.324,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 71,
        "net_usd": -571.39,
        "return_pct": -5.714,
        "profit_factor": 0.524,
        "win_rate_pct": 36.62,
        "max_drawdown_pct": 6.251,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 71,
        "net_usd": -716.96,
        "return_pct": -7.17,
        "profit_factor": 0.4176,
        "win_rate_pct": 36.62,
        "max_drawdown_pct": 7.708,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 39,
        "net_usd": -281.72,
        "return_pct": -2.817,
        "profit_factor": 0.5935,
        "win_rate_pct": 38.46,
        "max_drawdown_pct": 3.176,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 39,
        "net_usd": -323.21,
        "return_pct": -3.232,
        "profit_factor": 0.546,
        "win_rate_pct": 35.9,
        "max_drawdown_pct": 3.503,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 19,
        "net_usd": 48.35,
        "return_pct": 0.484,
        "profit_factor": 1.2089,
        "win_rate_pct": 63.16,
        "max_drawdown_pct": 1.262,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 18,
        "net_usd": -21.6,
        "return_pct": -0.216,
        "profit_factor": 0.9199,
        "win_rate_pct": 55.56,
        "max_drawdown_pct": 1.439,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 58,
        "net_usd": -235.65,
        "return_pct": -2.357,
        "profit_factor": 0.744,
        "win_rate_pct": 46.55,
        "max_drawdown_pct": 3.489,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 57,
        "net_usd": -355.64,
        "return_pct": -3.556,
        "profit_factor": 0.6361,
        "win_rate_pct": 42.11,
        "max_drawdown_pct": 3.961,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 33,
        "net_usd": -219.13,
        "return_pct": -2.191,
        "profit_factor": 0.5441,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 2.613,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 33,
        "net_usd": -271.56,
        "return_pct": -2.716,
        "profit_factor": 0.4778,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.995,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "19-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 40,
        "net_usd": -524.18,
        "return_pct": -5.242,
        "profit_factor": 0.3029,
        "win_rate_pct": 22.5,
        "max_drawdown_pct": 5.276,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 0
      },
      "trade_log": "19-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 40,
        "net_usd": -637.09,
        "return_pct": -6.371,
        "profit_factor": 0.2407,
        "win_rate_pct": 17.5,
        "max_drawdown_pct": 6.389,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 0
      },
      "trade_log": "19-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 73,
        "net_usd": -729.44,
        "return_pct": -7.294,
        "profit_factor": 0.3998,
        "win_rate_pct": 28.77,
        "max_drawdown_pct": 7.58,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 0
      },
      "trade_log": "19-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 19,
      "title": "Stochastic Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 73,
        "net_usd": -891.37,
        "return_pct": -8.914,
        "profit_factor": 0.333,
        "win_rate_pct": 24.66,
        "max_drawdown_pct": 9.063,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 0
      },
      "trade_log": "19-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 4,
        "net_usd": 118.97,
        "return_pct": 1.19,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.308,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 4,
        "net_usd": 110.24,
        "return_pct": 1.102,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.289,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 3,
        "net_usd": -34.86,
        "return_pct": -0.349,
        "profit_factor": 0.1673,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 0.605,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 3,
        "net_usd": -40.88,
        "return_pct": -0.409,
        "profit_factor": 0.1216,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 0.663,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": 84.11,
        "return_pct": 0.841,
        "profit_factor": 3.0095,
        "win_rate_pct": 71.43,
        "max_drawdown_pct": 0.598,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": 69.36,
        "return_pct": 0.694,
        "profit_factor": 2.4901,
        "win_rate_pct": 71.43,
        "max_drawdown_pct": 0.656,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURGBP",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1.5,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": 100.57,
        "return_pct": 1.006,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.441,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURGBP-2025-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURGBP",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 3.0,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": 79.53,
        "return_pct": 0.795,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.422,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURGBP-2025-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURGBP",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1.5,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": 7.04,
        "return_pct": 0.07,
        "profit_factor": 19.1143,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.246,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURGBP-2026-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURGBP",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 3.0,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -1.33,
        "return_pct": -0.013,
        "profit_factor": 0.5681,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.247,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURGBP-2026-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURGBP",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1.5,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 7,
        "net_usd": 107.61,
        "return_pct": 1.076,
        "profit_factor": 277.8564,
        "win_rate_pct": 85.71,
        "max_drawdown_pct": 0.441,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURGBP-combined-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "EURGBP",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 3.0,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 7,
        "net_usd": 78.19,
        "return_pct": 0.782,
        "profit_factor": 26.3423,
        "win_rate_pct": 85.71,
        "max_drawdown_pct": 0.422,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-EURGBP-combined-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "AUDNZD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": -27.99,
        "return_pct": -0.28,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.359,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-AUDNZD-2025-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "AUDNZD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2025-12-31",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": -29.71,
        "return_pct": -0.297,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.345,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-AUDNZD-2025-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "AUDNZD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 4,
        "net_usd": 53.49,
        "return_pct": 0.535,
        "profit_factor": 3.6048,
        "win_rate_pct": 75.0,
        "max_drawdown_pct": 0.297,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-AUDNZD-2026-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "AUDNZD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 4,
        "net_usd": 47.99,
        "return_pct": 0.48,
        "profit_factor": 3.2656,
        "win_rate_pct": 75.0,
        "max_drawdown_pct": 0.301,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-AUDNZD-2026-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "AUDNZD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 2,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": 25.5,
        "return_pct": 0.255,
        "profit_factor": 1.5255,
        "win_rate_pct": 60.0,
        "max_drawdown_pct": 0.526,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-AUDNZD-combined-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "AUDNZD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-03-13T04:00:00",
      "end": "2026-09-18",
      "full_period_coverage": false,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 4,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": 18.28,
        "return_pct": 0.183,
        "profit_factor": 1.3591,
        "win_rate_pct": 60.0,
        "max_drawdown_pct": 0.533,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-AUDNZD-combined-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 5,
        "net_usd": -70.94,
        "return_pct": -0.709,
        "profit_factor": 0.025,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 0.847,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-USDCHF-2025-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 5,
        "net_usd": -81.7,
        "return_pct": -0.817,
        "profit_factor": 0.0022,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 0.936,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-USDCHF-2025-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 6,
        "net_usd": -87.22,
        "return_pct": -0.872,
        "profit_factor": 0.1565,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 0.966,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-USDCHF-2026-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 6,
        "net_usd": -91.72,
        "return_pct": -0.917,
        "profit_factor": 0.122,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 0.994,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-USDCHF-2026-stress.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": -158.16,
        "return_pct": -1.582,
        "profit_factor": 0.1022,
        "win_rate_pct": 27.27,
        "max_drawdown_pct": 1.582,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-USDCHF-combined-base.json.gz"
    },
    {
      "strategy_id": 20,
      "title": "CCI Extreme Reversion",
      "symbol": "USDCHF",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -173.42,
        "return_pct": -1.734,
        "profit_factor": 0.0694,
        "win_rate_pct": 27.27,
        "max_drawdown_pct": 1.734,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "20-USDCHF-combined-stress.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 23,
        "net_usd": -196.07,
        "return_pct": -1.961,
        "profit_factor": 0.4854,
        "win_rate_pct": 30.43,
        "max_drawdown_pct": 2.382,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 23,
        "net_usd": -224.49,
        "return_pct": -2.245,
        "profit_factor": 0.4329,
        "win_rate_pct": 30.43,
        "max_drawdown_pct": 2.62,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 13,
        "net_usd": -101.52,
        "return_pct": -1.015,
        "profit_factor": 0.4577,
        "win_rate_pct": 30.77,
        "max_drawdown_pct": 1.349,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 13,
        "net_usd": -124.37,
        "return_pct": -1.244,
        "profit_factor": 0.3831,
        "win_rate_pct": 23.08,
        "max_drawdown_pct": 1.48,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 36,
        "net_usd": -299.34,
        "return_pct": -2.993,
        "profit_factor": 0.4708,
        "win_rate_pct": 30.56,
        "max_drawdown_pct": 3.23,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 36,
        "net_usd": -340.85,
        "return_pct": -3.408,
        "profit_factor": 0.4217,
        "win_rate_pct": 27.78,
        "max_drawdown_pct": 3.637,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 22,
        "net_usd": -106.44,
        "return_pct": -1.064,
        "profit_factor": 0.6975,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 3.341,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 22,
        "net_usd": -122.62,
        "return_pct": -1.226,
        "profit_factor": 0.6552,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 3.362,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 19,
        "net_usd": -122.49,
        "return_pct": -1.225,
        "profit_factor": 0.6246,
        "win_rate_pct": 42.11,
        "max_drawdown_pct": 2.178,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 19,
        "net_usd": -144.74,
        "return_pct": -1.447,
        "profit_factor": 0.5663,
        "win_rate_pct": 42.11,
        "max_drawdown_pct": 2.251,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 41,
        "net_usd": -235.14,
        "return_pct": -2.351,
        "profit_factor": 0.6533,
        "win_rate_pct": 39.02,
        "max_drawdown_pct": 4.651,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 41,
        "net_usd": -258.02,
        "return_pct": -2.58,
        "profit_factor": 0.6206,
        "win_rate_pct": 39.02,
        "max_drawdown_pct": 4.792,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 14,
        "net_usd": -46.7,
        "return_pct": -0.467,
        "profit_factor": 0.7412,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 1.539,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 14,
        "net_usd": -58.64,
        "return_pct": -0.586,
        "profit_factor": 0.692,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 1.624,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 13,
        "net_usd": -3.97,
        "return_pct": -0.04,
        "profit_factor": 0.9802,
        "win_rate_pct": 38.46,
        "max_drawdown_pct": 1.333,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 13,
        "net_usd": -22.79,
        "return_pct": -0.228,
        "profit_factor": 0.8866,
        "win_rate_pct": 38.46,
        "max_drawdown_pct": 1.363,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 27,
        "net_usd": -50.67,
        "return_pct": -0.507,
        "profit_factor": 0.8669,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.077,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 21,
      "title": "Williams %R Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 27,
        "net_usd": -83.64,
        "return_pct": -0.836,
        "profit_factor": 0.784,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 2.195,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "21-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 76,
        "net_usd": -469.66,
        "return_pct": -4.697,
        "profit_factor": 0.6724,
        "win_rate_pct": 43.42,
        "max_drawdown_pct": 6.057,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "22-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 76,
        "net_usd": -694.81,
        "return_pct": -6.948,
        "profit_factor": 0.5307,
        "win_rate_pct": 38.16,
        "max_drawdown_pct": 7.932,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "22-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 69,
        "net_usd": -416.23,
        "return_pct": -4.162,
        "profit_factor": 0.6867,
        "win_rate_pct": 44.93,
        "max_drawdown_pct": 5.162,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "22-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 72,
        "net_usd": -734.77,
        "return_pct": -7.348,
        "profit_factor": 0.4898,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 7.957,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "22-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 145,
        "net_usd": -864.96,
        "return_pct": -8.65,
        "profit_factor": 0.6791,
        "win_rate_pct": 44.14,
        "max_drawdown_pct": 9.831,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 8
      },
      "trade_log": "22-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 148,
        "net_usd": -1360.33,
        "return_pct": -13.603,
        "profit_factor": 0.5156,
        "win_rate_pct": 39.86,
        "max_drawdown_pct": 14.558,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "22-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 98,
        "net_usd": 442.08,
        "return_pct": 4.421,
        "profit_factor": 1.2657,
        "win_rate_pct": 55.1,
        "max_drawdown_pct": 4.151,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "22-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 101,
        "net_usd": -94.33,
        "return_pct": -0.943,
        "profit_factor": 0.9471,
        "win_rate_pct": 51.49,
        "max_drawdown_pct": 4.976,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "22-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 60,
        "net_usd": -361.13,
        "return_pct": -3.611,
        "profit_factor": 0.6835,
        "win_rate_pct": 40.0,
        "max_drawdown_pct": 4.443,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "22-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 60,
        "net_usd": -498.32,
        "return_pct": -4.983,
        "profit_factor": 0.5754,
        "win_rate_pct": 38.33,
        "max_drawdown_pct": 5.712,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "22-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 158,
        "net_usd": 35.39,
        "return_pct": 0.354,
        "profit_factor": 1.0124,
        "win_rate_pct": 49.37,
        "max_drawdown_pct": 4.828,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "22-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 161,
        "net_usd": -578.43,
        "return_pct": -5.784,
        "profit_factor": 0.8033,
        "win_rate_pct": 46.58,
        "max_drawdown_pct": 7.444,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 9
      },
      "trade_log": "22-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 84,
        "net_usd": -45.51,
        "return_pct": -0.455,
        "profit_factor": 0.9681,
        "win_rate_pct": 51.19,
        "max_drawdown_pct": 4.873,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "22-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 84,
        "net_usd": -243.24,
        "return_pct": -2.432,
        "profit_factor": 0.8341,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 5.857,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "22-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 62,
        "net_usd": -442.61,
        "return_pct": -4.426,
        "profit_factor": 0.6406,
        "win_rate_pct": 41.94,
        "max_drawdown_pct": 6.184,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "22-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 63,
        "net_usd": -761.9,
        "return_pct": -7.619,
        "profit_factor": 0.4482,
        "win_rate_pct": 36.51,
        "max_drawdown_pct": 9.15,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 6
      },
      "trade_log": "22-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 146,
        "net_usd": -488.04,
        "return_pct": -4.88,
        "profit_factor": 0.8163,
        "win_rate_pct": 47.26,
        "max_drawdown_pct": 9.469,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 8
      },
      "trade_log": "22-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 22,
      "title": "False-Breakout Range Reversal",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 147,
        "net_usd": -988.56,
        "return_pct": -9.886,
        "profit_factor": 0.6481,
        "win_rate_pct": 44.22,
        "max_drawdown_pct": 13.368,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 8
      },
      "trade_log": "22-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 169,
        "net_usd": -1331.4,
        "return_pct": -13.314,
        "profit_factor": 0.5169,
        "win_rate_pct": 20.71,
        "max_drawdown_pct": 13.603,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 2
      },
      "trade_log": "23-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 169,
        "net_usd": -1578.6,
        "return_pct": -15.786,
        "profit_factor": 0.4373,
        "win_rate_pct": 20.12,
        "max_drawdown_pct": 15.887,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 2
      },
      "trade_log": "23-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 137,
        "net_usd": -992.05,
        "return_pct": -9.921,
        "profit_factor": 0.5355,
        "win_rate_pct": 26.28,
        "max_drawdown_pct": 11.14,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "23-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 137,
        "net_usd": -1428.83,
        "return_pct": -14.288,
        "profit_factor": 0.3521,
        "win_rate_pct": 23.36,
        "max_drawdown_pct": 14.543,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 2
      },
      "trade_log": "23-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 306,
        "net_usd": -2186.55,
        "return_pct": -21.866,
        "profit_factor": 0.5244,
        "win_rate_pct": 23.2,
        "max_drawdown_pct": 22.914,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 4
      },
      "trade_log": "23-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "EURUSD",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 306,
        "net_usd": -2777.47,
        "return_pct": -27.775,
        "profit_factor": 0.4038,
        "win_rate_pct": 21.57,
        "max_drawdown_pct": 27.992,
        "ambiguous_execution_bars": 2,
        "rejected_entries": 4
      },
      "trade_log": "23-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 177,
        "net_usd": -1030.51,
        "return_pct": -10.305,
        "profit_factor": 0.5994,
        "win_rate_pct": 29.38,
        "max_drawdown_pct": 13.242,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 0
      },
      "trade_log": "23-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 177,
        "net_usd": -1282.91,
        "return_pct": -12.829,
        "profit_factor": 0.5106,
        "win_rate_pct": 28.81,
        "max_drawdown_pct": 15.161,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 0
      },
      "trade_log": "23-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 138,
        "net_usd": -608.68,
        "return_pct": -6.087,
        "profit_factor": 0.6841,
        "win_rate_pct": 29.71,
        "max_drawdown_pct": 7.175,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "23-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 138,
        "net_usd": -867.93,
        "return_pct": -8.679,
        "profit_factor": 0.5641,
        "win_rate_pct": 26.81,
        "max_drawdown_pct": 9.286,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "23-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 315,
        "net_usd": -1565.96,
        "return_pct": -15.66,
        "profit_factor": 0.6351,
        "win_rate_pct": 29.52,
        "max_drawdown_pct": 16.663,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 3
      },
      "trade_log": "23-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "GBPUSD",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 315,
        "net_usd": -2034.01,
        "return_pct": -20.34,
        "profit_factor": 0.5325,
        "win_rate_pct": 27.94,
        "max_drawdown_pct": 20.872,
        "ambiguous_execution_bars": 1,
        "rejected_entries": 3
      },
      "trade_log": "23-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "USDJPY",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 151,
        "net_usd": -706.0,
        "return_pct": -7.06,
        "profit_factor": 0.6774,
        "win_rate_pct": 30.46,
        "max_drawdown_pct": 9.96,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "23-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "USDJPY",
      "timeframe": "M15",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 151,
        "net_usd": -904.74,
        "return_pct": -9.047,
        "profit_factor": 0.5952,
        "win_rate_pct": 29.8,
        "max_drawdown_pct": 11.224,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "23-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "USDJPY",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 105,
        "net_usd": -1103.14,
        "return_pct": -11.031,
        "profit_factor": 0.3699,
        "win_rate_pct": 20.0,
        "max_drawdown_pct": 11.398,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "23-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "USDJPY",
      "timeframe": "M15",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 105,
        "net_usd": -1335.26,
        "return_pct": -13.353,
        "profit_factor": 0.2771,
        "win_rate_pct": 17.14,
        "max_drawdown_pct": 13.411,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "23-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "USDJPY",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 256,
        "net_usd": -1733.26,
        "return_pct": -17.333,
        "profit_factor": 0.5456,
        "win_rate_pct": 26.17,
        "max_drawdown_pct": 18.641,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "23-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 23,
      "title": "Daily Pivot Rejection",
      "symbol": "USDJPY",
      "timeframe": "M15",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 256,
        "net_usd": -2118.14,
        "return_pct": -21.181,
        "profit_factor": 0.4586,
        "win_rate_pct": 24.61,
        "max_drawdown_pct": 21.985,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "23-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": 110.22,
        "return_pct": 1.102,
        "profit_factor": 1.4414,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 1.766,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "24-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": 42.66,
        "return_pct": 0.427,
        "profit_factor": 1.1425,
        "win_rate_pct": 36.36,
        "max_drawdown_pct": 2.249,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "24-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 16,
        "net_usd": 109.64,
        "return_pct": 1.096,
        "profit_factor": 1.3069,
        "win_rate_pct": 43.75,
        "max_drawdown_pct": 1.652,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 16,
        "net_usd": -21.29,
        "return_pct": -0.213,
        "profit_factor": 0.9428,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 1.718,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 27,
        "net_usd": 215.96,
        "return_pct": 2.16,
        "profit_factor": 1.3521,
        "win_rate_pct": 40.74,
        "max_drawdown_pct": 1.766,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 27,
        "net_usd": 19.37,
        "return_pct": 0.194,
        "profit_factor": 1.0288,
        "win_rate_pct": 37.04,
        "max_drawdown_pct": 2.249,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 18,
        "net_usd": -224.53,
        "return_pct": -2.245,
        "profit_factor": 0.6191,
        "win_rate_pct": 22.22,
        "max_drawdown_pct": 3.308,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "24-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 18,
        "net_usd": -240.11,
        "return_pct": -2.401,
        "profit_factor": 0.5987,
        "win_rate_pct": 22.22,
        "max_drawdown_pct": 3.409,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "24-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 8,
        "net_usd": -192.24,
        "return_pct": -1.922,
        "profit_factor": 0.3402,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 2.289,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 8,
        "net_usd": -191.16,
        "return_pct": -1.912,
        "profit_factor": 0.3302,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 2.272,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 26,
        "net_usd": -407.61,
        "return_pct": -4.076,
        "profit_factor": 0.5324,
        "win_rate_pct": 23.08,
        "max_drawdown_pct": 5.119,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 26,
        "net_usd": -427.03,
        "return_pct": -4.27,
        "profit_factor": 0.5143,
        "win_rate_pct": 23.08,
        "max_drawdown_pct": 5.259,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 11,
        "net_usd": -157.96,
        "return_pct": -1.58,
        "profit_factor": 0.539,
        "win_rate_pct": 18.18,
        "max_drawdown_pct": 2.292,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "24-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -164.87,
        "return_pct": -1.649,
        "profit_factor": 0.5211,
        "win_rate_pct": 18.18,
        "max_drawdown_pct": 2.34,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "24-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 12,
        "net_usd": -243.69,
        "return_pct": -2.437,
        "profit_factor": 0.4168,
        "win_rate_pct": 16.67,
        "max_drawdown_pct": 3.83,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 11,
        "net_usd": -219.0,
        "return_pct": -2.19,
        "profit_factor": 0.4367,
        "win_rate_pct": 18.18,
        "max_drawdown_pct": 3.553,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "24-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 23,
        "net_usd": -393.97,
        "return_pct": -3.94,
        "profit_factor": 0.4753,
        "win_rate_pct": 17.39,
        "max_drawdown_pct": 5.769,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "24-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 24,
      "title": "Horizontal Support/Resistance Break-and-Retest",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 22,
        "net_usd": -380.17,
        "return_pct": -3.802,
        "profit_factor": 0.476,
        "win_rate_pct": 18.18,
        "max_drawdown_pct": 5.632,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "24-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 44,
        "net_usd": -695.0,
        "return_pct": -6.95,
        "profit_factor": 0.5361,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 7.853,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 44,
        "net_usd": -740.48,
        "return_pct": -7.405,
        "profit_factor": 0.5095,
        "win_rate_pct": 25.0,
        "max_drawdown_pct": 8.238,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 17,
        "net_usd": -167.56,
        "return_pct": -1.676,
        "profit_factor": 0.6532,
        "win_rate_pct": 29.41,
        "max_drawdown_pct": 3.11,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 17,
        "net_usd": -232.69,
        "return_pct": -2.327,
        "profit_factor": 0.5521,
        "win_rate_pct": 29.41,
        "max_drawdown_pct": 3.506,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 61,
        "net_usd": -866.56,
        "return_pct": -8.666,
        "profit_factor": 0.5564,
        "win_rate_pct": 26.23,
        "max_drawdown_pct": 9.584,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 61,
        "net_usd": -941.82,
        "return_pct": -9.418,
        "profit_factor": 0.5253,
        "win_rate_pct": 26.23,
        "max_drawdown_pct": 10.252,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 45,
        "net_usd": -1040.18,
        "return_pct": -10.402,
        "profit_factor": 0.3144,
        "win_rate_pct": 15.56,
        "max_drawdown_pct": 10.469,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 45,
        "net_usd": -1084.23,
        "return_pct": -10.842,
        "profit_factor": 0.304,
        "win_rate_pct": 15.56,
        "max_drawdown_pct": 10.892,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 21,
        "net_usd": -103.05,
        "return_pct": -1.03,
        "profit_factor": 0.8179,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 2.461,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 21,
        "net_usd": -129.69,
        "return_pct": -1.297,
        "profit_factor": 0.7764,
        "win_rate_pct": 28.57,
        "max_drawdown_pct": 2.67,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 66,
        "net_usd": -1139.19,
        "return_pct": -11.392,
        "profit_factor": 0.438,
        "win_rate_pct": 19.7,
        "max_drawdown_pct": 12.654,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 66,
        "net_usd": -1191.4,
        "return_pct": -11.914,
        "profit_factor": 0.4252,
        "win_rate_pct": 19.7,
        "max_drawdown_pct": 13.15,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 27,
        "net_usd": -647.75,
        "return_pct": -6.478,
        "profit_factor": 0.2854,
        "win_rate_pct": 11.11,
        "max_drawdown_pct": 6.478,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-AUDUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 27,
        "net_usd": -679.39,
        "return_pct": -6.794,
        "profit_factor": 0.2667,
        "win_rate_pct": 11.11,
        "max_drawdown_pct": 6.794,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-AUDUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 24,
        "net_usd": 66.69,
        "return_pct": 0.667,
        "profit_factor": 1.1028,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 3.418,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-AUDUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 24,
        "net_usd": 27.92,
        "return_pct": 0.279,
        "profit_factor": 1.0427,
        "win_rate_pct": 41.67,
        "max_drawdown_pct": 3.419,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-AUDUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 51,
        "net_usd": -582.62,
        "return_pct": -5.826,
        "profit_factor": 0.614,
        "win_rate_pct": 25.49,
        "max_drawdown_pct": 7.416,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-AUDUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 25,
      "title": "Engulfing Pullback",
      "symbol": "AUDUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 51,
        "net_usd": -645.26,
        "return_pct": -6.453,
        "profit_factor": 0.5798,
        "win_rate_pct": 25.49,
        "max_drawdown_pct": 7.887,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "25-AUDUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": -1.2,
        "return_pct": -0.012,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.686,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": -4.0,
        "return_pct": -0.04,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.687,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 1,
        "net_usd": -48.46,
        "return_pct": -0.485,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.485,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 1,
        "net_usd": -54.37,
        "return_pct": -0.544,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 0.544,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": -49.66,
        "return_pct": -0.497,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.021,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "EURUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -58.37,
        "return_pct": -0.584,
        "profit_factor": 0.0,
        "win_rate_pct": 0.0,
        "max_drawdown_pct": 1.084,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 3,
        "net_usd": 36.59,
        "return_pct": 0.366,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.167,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 3,
        "net_usd": 25.86,
        "return_pct": 0.259,
        "profit_factor": null,
        "win_rate_pct": 100.0,
        "max_drawdown_pct": 0.222,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 3,
        "net_usd": -21.37,
        "return_pct": -0.214,
        "profit_factor": 0.4526,
        "win_rate_pct": 66.67,
        "max_drawdown_pct": 0.587,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 3,
        "net_usd": -26.78,
        "return_pct": -0.268,
        "profit_factor": 0.3144,
        "win_rate_pct": 66.67,
        "max_drawdown_pct": 0.609,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 6,
        "net_usd": 15.22,
        "return_pct": 0.152,
        "profit_factor": 1.3898,
        "win_rate_pct": 83.33,
        "max_drawdown_pct": 0.585,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 6,
        "net_usd": -0.92,
        "return_pct": -0.009,
        "profit_factor": 0.9764,
        "win_rate_pct": 83.33,
        "max_drawdown_pct": 0.607,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 0,
        "net_usd": 0.0,
        "return_pct": 0.0,
        "profit_factor": null,
        "win_rate_pct": null,
        "max_drawdown_pct": 0.0,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": -22.2,
        "return_pct": -0.222,
        "profit_factor": 0.4414,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.457,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -22.16,
        "return_pct": -0.222,
        "profit_factor": 0.4225,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.472,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 2,
        "net_usd": -22.2,
        "return_pct": -0.222,
        "profit_factor": 0.4414,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.457,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 26,
      "title": "Pin-Bar Rejection",
      "symbol": "USDJPY",
      "timeframe": "H1",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 2,
        "net_usd": -22.16,
        "return_pct": -0.222,
        "profit_factor": 0.4225,
        "win_rate_pct": 50.0,
        "max_drawdown_pct": 0.472,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "26-USDJPY-combined-stress.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 42,
        "net_usd": -419.27,
        "return_pct": -4.193,
        "profit_factor": 0.64,
        "win_rate_pct": 35.71,
        "max_drawdown_pct": 5.536,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "27-EURUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 42,
        "net_usd": -466.82,
        "return_pct": -4.668,
        "profit_factor": 0.6038,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 5.779,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "27-EURUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 41,
        "net_usd": -227.31,
        "return_pct": -2.273,
        "profit_factor": 0.7737,
        "win_rate_pct": 41.46,
        "max_drawdown_pct": 3.938,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "27-EURUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 40,
        "net_usd": -469.46,
        "return_pct": -4.695,
        "profit_factor": 0.5625,
        "win_rate_pct": 37.5,
        "max_drawdown_pct": 5.267,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 1
      },
      "trade_log": "27-EURUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 83,
        "net_usd": -634.73,
        "return_pct": -6.347,
        "profit_factor": 0.7015,
        "win_rate_pct": 38.55,
        "max_drawdown_pct": 8.767,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "27-EURUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "EURUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 82,
        "net_usd": -910.71,
        "return_pct": -9.107,
        "profit_factor": 0.5843,
        "win_rate_pct": 35.37,
        "max_drawdown_pct": 10.332,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "27-EURUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 45,
        "net_usd": -360.81,
        "return_pct": -3.608,
        "profit_factor": 0.6982,
        "win_rate_pct": 42.22,
        "max_drawdown_pct": 5.889,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 3
      },
      "trade_log": "27-GBPUSD-2025-base.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 47,
        "net_usd": -426.92,
        "return_pct": -4.269,
        "profit_factor": 0.6673,
        "win_rate_pct": 40.43,
        "max_drawdown_pct": 6.455,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "27-GBPUSD-2025-stress.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 38,
        "net_usd": -451.53,
        "return_pct": -4.515,
        "profit_factor": 0.5816,
        "win_rate_pct": 34.21,
        "max_drawdown_pct": 5.51,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "27-GBPUSD-2026-base.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 39,
        "net_usd": -496.87,
        "return_pct": -4.969,
        "profit_factor": 0.5663,
        "win_rate_pct": 33.33,
        "max_drawdown_pct": 5.988,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 2
      },
      "trade_log": "27-GBPUSD-2026-stress.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 83,
        "net_usd": -782.45,
        "return_pct": -7.825,
        "profit_factor": 0.6501,
        "win_rate_pct": 38.55,
        "max_drawdown_pct": 9.327,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 5
      },
      "trade_log": "27-GBPUSD-combined-base.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 86,
        "net_usd": -908.05,
        "return_pct": -9.08,
        "profit_factor": 0.6185,
        "win_rate_pct": 37.21,
        "max_drawdown_pct": 10.493,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 4
      },
      "trade_log": "27-GBPUSD-combined-stress.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 49,
        "net_usd": -510.13,
        "return_pct": -5.101,
        "profit_factor": 0.6306,
        "win_rate_pct": 38.78,
        "max_drawdown_pct": 6.261,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "27-USDJPY-2025-base.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2025",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2025-12-31",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 49,
        "net_usd": -551.77,
        "return_pct": -5.518,
        "profit_factor": 0.6023,
        "win_rate_pct": 38.78,
        "max_drawdown_pct": 6.605,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "27-USDJPY-2025-stress.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 22,
        "net_usd": -73.84,
        "return_pct": -0.738,
        "profit_factor": 0.871,
        "win_rate_pct": 45.45,
        "max_drawdown_pct": 2.01,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "27-USDJPY-2026-base.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "2026",
      "start": "2026-01-01",
      "effective_start": "2026-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 22,
        "net_usd": -120.57,
        "return_pct": -1.206,
        "profit_factor": 0.793,
        "win_rate_pct": 45.45,
        "max_drawdown_pct": 2.376,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "27-USDJPY-2026-stress.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "base",
        "spread_pips": 1,
        "slippage_pips": 0.1,
        "funding_floor_pips": 0.2,
        "funding_multiplier": 1
      },
      "metrics": {
        "trades": 71,
        "net_usd": -582.25,
        "return_pct": -5.822,
        "profit_factor": 0.6974,
        "win_rate_pct": 40.85,
        "max_drawdown_pct": 6.717,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "27-USDJPY-combined-base.json.gz"
    },
    {
      "strategy_id": 27,
      "title": "Fibonacci Retracement Trend Pullback",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "period": "combined",
      "start": "2025-01-01",
      "effective_start": "2025-01-01T00:00:00",
      "end": "2026-09-18",
      "full_period_coverage": true,
      "cost_scenario": {
        "name": "stress",
        "spread_pips": 2,
        "slippage_pips": 0.3,
        "funding_floor_pips": 0.5,
        "funding_multiplier": 2
      },
      "metrics": {
        "trades": 71,
        "net_usd": -675.38,
        "return_pct": -6.754,
        "profit_factor": 0.6524,
        "win_rate_pct": 40.85,
        "max_drawdown_pct": 7.573,
        "ambiguous_execution_bars": 0,
        "rejected_entries": 0
      },
      "trade_log": "27-USDJPY-combined-stress.json.gz"
    }
  ],
  "validation": {
    "automated_checks_passed": 37,
    "source_manifest_sha256": "a0f25aad328c25c830cb282ddbbab838bd33f1f67a45357c99d4511d031101d2",
    "native_sar_audit": {
      "purpose": "Native MT5 iSAR(.02,.20) timestamp override for ID9; no approximation.",
      "files": [
        {
          "symbol": "EURUSD",
          "path": "validation\\data-v2\\native-sar-EURUSD-H4.csv",
          "sha256": "a4ec419ad8659cb199af7bdb5148b43368f52ed5ff7124b335dc00650886b385",
          "rows": 7349,
          "first": "2022.01.03 00:00",
          "last": "2026.09.22 16:00",
          "execution_2025_2026_timestamps": 2681,
          "status": "available",
          "data_v2_h4": {
            "rows": 8897,
            "first": "2021-01-04 00:00",
            "last": "2026-09-18 20:00",
            "timestamp_join": 7338,
            "missing_native_for_rate": 1559,
            "missing_native_2025_2026": 0
          }
        },
        {
          "symbol": "GBPUSD",
          "path": "validation\\data-v2\\native-sar-GBPUSD-H4.csv",
          "sha256": "616c7530b199a9ec61ae0de81ed76536df36f47baf0d46ea5fad836e853f27e9",
          "rows": 2681,
          "first": "2025.01.02 00:00",
          "last": "2026.09.22 16:00",
          "execution_2025_2026_timestamps": 2681,
          "status": "available",
          "data_v2_h4": {
            "rows": 8897,
            "first": "2021-01-04 00:00",
            "last": "2026-09-18 20:00",
            "timestamp_join": 2670,
            "missing_native_for_rate": 6227,
            "missing_native_2025_2026": 0
          }
        },
        {
          "symbol": "USDJPY",
          "path": "validation\\data-v2\\native-sar-USDJPY-H4.csv",
          "sha256": "e556840d667546278cf3a6be3c8779ce451ff09943fc6c1796d7f6429b0f9c5d",
          "rows": 2681,
          "first": "2025.01.02 00:00",
          "last": "2026.09.22 16:00",
          "execution_2025_2026_timestamps": 2681,
          "status": "available",
          "data_v2_h4": {
            "rows": 8897,
            "first": "2021-01-04 00:00",
            "last": "2026-09-18 20:00",
            "timestamp_join": 2670,
            "missing_native_for_rate": 6227,
            "missing_native_2025_2026": 0
          }
        },
        {
          "symbol": "USDCHF",
          "path": "validation\\data-v2\\native-sar-USDCHF-H4.csv",
          "sha256": "5b263217852d4a3a36ed9f2e62423284b7279056d83685bc2dec381c58cf89e8",
          "rows": 20000,
          "first": "2013.11.08 20:00",
          "last": "2026.09.22 16:00",
          "execution_2025_2026_timestamps": 2681,
          "status": "available",
          "data_v2_h4": {
            "rows": 8897,
            "first": "2021-01-04 00:00",
            "last": "2026-09-18 20:00",
            "timestamp_join": 8897,
            "missing_native_for_rate": 0,
            "missing_native_2025_2026": 0
          }
        }
      ]
    },
    "indicator_parity": {
      "reference": {
        "path": "mt5-capture\\MQL5\\Files\\native-indicator-parity-eurusd-h4.csv",
        "sha256": "eab31e44b798c1b72b1c83efc2f8504b0e2043fa5821566c1070bfb2f0d203bc",
        "rows": 3000,
        "warmup_excluded": 1000,
        "first": "2024.10.16 20:00",
        "last": "2026.09.22 16:00",
        "native_handles": {
          "adx": "iCustom Examples\\ADXW (Wilder), not iADX",
          "sar": "iSAR (.02,.20)"
        }
      },
      "indicator_source_sha256": "5ac5cf3b42934d2e4aa5aebf42c72dced16e7b3226251af54b6bfa8a1a3846b9",
      "comparisons": {
        "atr10": {
          "native_column": "atr10",
          "common_closed_bars": 2000,
          "max_abs": 8.456776945386935e-17,
          "mean_abs": 2.301192006046171e-17,
          "p99_abs": 7.201704510517712e-17
        },
        "atr14": {
          "native_column": "atr14",
          "common_closed_bars": 2000,
          "max_abs": 4.285722384617108e-11,
          "mean_abs": 2.3828574360635484e-11,
          "p99_abs": 4.2857186987634024e-11
        },
        "atr20": {
          "native_column": "atr20",
          "common_closed_bars": 2000,
          "max_abs": 6.722053469410127e-17,
          "mean_abs": 1.6629818182234414e-17,
          "p99_abs": 4.9439619065339e-17
        },
        "ema20": {
          "native_column": "ema20",
          "common_closed_bars": 2000,
          "max_abs": 4.996780766930442e-11,
          "mean_abs": 2.4606946258387553e-11,
          "p99_abs": 4.942761089310466e-11
        },
        "ema50": {
          "native_column": "ema50",
          "common_closed_bars": 2000,
          "max_abs": 4.9960480197341894e-11,
          "mean_abs": 2.4980071455793507e-11,
          "p99_abs": 4.9504069732364544e-11
        },
        "ema100": {
          "native_column": "ema100",
          "common_closed_bars": 2000,
          "max_abs": 6.421463361050428e-11,
          "mean_abs": 2.5088504274073387e-11,
          "p99_abs": 4.968637945523824e-11
        },
        "ema200": {
          "native_column": "ema200",
          "common_closed_bars": 2000,
          "max_abs": 7.149163423481042e-07,
          "mean_abs": 3.593658313050252e-08,
          "p99_abs": 5.853881163209173e-07
        },
        "sma20": {
          "native_column": "sma20",
          "common_closed_bars": 2000,
          "max_abs": 4.440892098500626e-16,
          "mean_abs": 1.034727858950646e-16,
          "p99_abs": 4.440892098500626e-16
        },
        "sma50": {
          "native_column": "sma50",
          "common_closed_bars": 2000,
          "max_abs": 4.440892098500626e-16,
          "mean_abs": 6.894484982922222e-17,
          "p99_abs": 2.220446049250313e-16
        },
        "sma200": {
          "native_column": "sma200",
          "common_closed_bars": 2000,
          "max_abs": 2.220446049250313e-16,
          "mean_abs": 5.628830734849544e-17,
          "p99_abs": 2.220446049250313e-16
        },
        "rsi2": {
          "native_column": "rsi2",
          "common_closed_bars": 2000,
          "max_abs": 6.212985681486316e-11,
          "mean_abs": 2.56178082566616e-11,
          "p99_abs": 4.9752202357922215e-11
        },
        "rsi14": {
          "native_column": "rsi14",
          "common_closed_bars": 2000,
          "max_abs": 5.016431714466307e-11,
          "mean_abs": 2.5179781815154457e-11,
          "p99_abs": 4.951097309913166e-11
        },
        "adx": {
          "native_column": "adx",
          "common_closed_bars": 2000,
          "max_abs": 5.118394597047882e-11,
          "mean_abs": 2.5791641711236935e-11,
          "p99_abs": 4.973102818439657e-11
        },
        "plusdi": {
          "native_column": "plusdi",
          "common_closed_bars": 2000,
          "max_abs": 5.0249582272954285e-11,
          "mean_abs": 2.4405883092271097e-11,
          "p99_abs": 4.967104061393002e-11
        },
        "minusdi": {
          "native_column": "minusdi",
          "common_closed_bars": 2000,
          "max_abs": 5.019629156777228e-11,
          "mean_abs": 2.4833434419946344e-11,
          "p99_abs": 4.940938325148636e-11
        },
        "macd": {
          "native_column": "macd",
          "common_closed_bars": 2000,
          "max_abs": 4.999056350081174e-11,
          "mean_abs": 2.4950398124685443e-11,
          "p99_abs": 4.952314977373085e-11
        },
        "macdsignal": {
          "native_column": "macdsignal",
          "common_closed_bars": 2000,
          "max_abs": 4.9979320053232523e-11,
          "mean_abs": 2.51139835706698e-11,
          "p99_abs": 4.949772975824593e-11
        },
        "bbupper": {
          "native_column": "bbupper",
          "common_closed_bars": 2000,
          "max_abs": 4.998201852401962e-11,
          "mean_abs": 2.5194129116279384e-11,
          "p99_abs": 4.9428094950343394e-11
        },
        "bblower": {
          "native_column": "bblower",
          "common_closed_bars": 2000,
          "max_abs": 4.998201852401962e-11,
          "mean_abs": 2.5194111907822503e-11,
          "p99_abs": 4.9428094950343394e-11
        },
        "stochk": {
          "native_column": "stochk",
          "common_closed_bars": 2000,
          "max_abs": 5.1082693630633e-11,
          "mean_abs": 2.4805086207280168e-11,
          "p99_abs": 4.9475268326659713e-11
        },
        "stochd": {
          "native_column": "stochd",
          "common_closed_bars": 2000,
          "max_abs": 5.1102233555866405e-11,
          "mean_abs": 2.5115243218465366e-11,
          "p99_abs": 4.9525539225214746e-11
        },
        "wpr14": {
          "native_column": "wpr14",
          "common_closed_bars": 2000,
          "max_abs": 5.362110755413596e-11,
          "mean_abs": 2.477140484402618e-11,
          "p99_abs": 4.979487044920461e-11
        },
        "cci20": {
          "native_column": "cci20",
          "common_closed_bars": 2000,
          "max_abs": 3.6072833609068766e-10,
          "mean_abs": 4.863508872021693e-11,
          "p99_abs": 1.9471144696581175e-10
        },
        "sar": {
          "native_column": "sar",
          "common_closed_bars": 2000,
          "max_abs": 0.01204000000000005,
          "mean_abs": 0.00019648501890519532,
          "p99_abs": 0.006039907133399966
        },
        "tenkan": {
          "native_column": "tenkan",
          "common_closed_bars": 2000,
          "max_abs": 2.220446049250313e-16,
          "mean_abs": 5.684341886080802e-17,
          "p99_abs": 2.220446049250313e-16
        },
        "kijun": {
          "native_column": "kijun",
          "common_closed_bars": 2000,
          "max_abs": 2.220446049250313e-16,
          "mean_abs": 5.972999872483343e-17,
          "p99_abs": 2.220446049250313e-16
        },
        "cloudA": {
          "native_column": "cloudA_raw",
          "common_closed_bars": 2000,
          "max_abs": 2.220446049250313e-16,
          "mean_abs": 6.0285110237146e-17,
          "p99_abs": 2.220446049250313e-16
        },
        "cloudB": {
          "native_column": "cloudB_raw",
          "common_closed_bars": 2000,
          "max_abs": 2.220446049250313e-16,
          "mean_abs": 5.029310301551959e-17,
          "p99_abs": 2.220446049250313e-16
        }
      },
      "ichimoku_shift_check": {
        "native_buffer_columns_used": "cloudA_raw/cloudB_raw: CopyBuffer native buffer values align with calculate() displayed-cloud convention",
        "double_shift_diagnostic_cloudA_max_abs": 0.025535000000000085,
        "conclusion": "Do not shift native iIchimoku buffers a second time for this parity comparison."
      },
      "not_compared": [
        "st_state",
        "st_line (custom Supertrend excluded by request)"
      ],
      "calendar_high_importance": {
        "available": true,
        "sha256": "4a199476c113c07fd2dc443a62062991a50897294030ab717b99ba635953a813",
        "rows": 2275,
        "first": "2024.01.02 14:45",
        "last": "2026.09.18 10:30",
        "currencies": [
          "AUD",
          "CAD",
          "CHF",
          "CNY",
          "EUR",
          "GBP",
          "JPY",
          "NZD",
          "USD"
        ]
      }
    }
  }
}